SNMP::walk
En esta página
SNMP::walk
Recupera el sub-objeto de un objeto
SNMP
Descripción#
public SNMP::walk(array $objectId, [bool $suffixAsKey], [int $maxRepetitions], [int $nonRepeaters]): array
```php
SNMP::walk se utiliza para leer el sub-objeto SNMP cuya profundidad está especificada por el argumento `object_id`.
## Parámetros
`objectId`
Raíz del sub-objeto a leer
`suffixAsKey`
Por omisión, la notación completa del OID se utiliza para las claves en el array resultante. Si se establece en `true`, el prefijo del sub-objeto será eliminado de las claves, dejando solo el sufijo de object_id.
`nonRepeaters`
Especifica el número de variables proporcionadas que no deben ser repetidas. Por omisión, este valor será utilizado desde el objeto SNMP.
`maxRepetitions`
Especifica el número máximo de iteraciones sobre las variables repetidas. Por omisión, este valor será utilizado desde el objeto SNMP.
## Valores devueltos
Devuelve un array asociativo de identificadores de objetos SNMP así como sus valores en caso de éxito o `false` si ocurre un error. Cuando ocurre un error SNMP, SNMP::get_errno y SNMP::get_error pueden ser utilizadas para recuperar respectivamente el número del error (específico de la extensión SNMP, ver las constantes de la clase) así como el mensaje de error.
## Errores/Excepciones
Este método no lanza excepciones por defecto. Para activar el lanzamiento de excepciones SNMPException cuando ocurren errores de la biblioteca, el parámetro de la clase SNMP `exceptions_enabled` ebe ser definido al valor correspondiente. Ver las [ explicaciones sobre `SNMP::$exceptions_enabled`](#snmp.props.exceptions-enabled) para más detalles.
## Ejemplos
Ejemplo con SNMP::walk
Resultado del ejemplo anterior es similar a:
Array
(
[SNMPv2-MIB::sysDescr.0] => STRING: Test server
[SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
[DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
[SNMPv2-MIB::sysContact.0] => STRING: Nobody
[SNMPv2-MIB::sysName.0] => STRING: server.localdomain
...
)
Ejemplo con el argumento `suffixAsKey`
El argumento `suffixAsKey` puede ser utilizado al fusionar varios sub-objetos SNMP en uno solo. Este ejemplo enlaza los nombres de interfaces y sus tipos.
```php
Resultado del ejemplo anterior es similar a:
Array
(
[1] => igb0
[2] => igb1
[3] => ipfw0
[4] => lo0
[5] => lagg0
)
Array
(
[1] => INTEGER: ieee8023adLag(161)
[2] => INTEGER: ieee8023adLag(161)
[3] => INTEGER: ethernetCsmacd(6)
[4] => INTEGER: softwareLoopback(24)
[5] => INTEGER: ethernetCsmacd(6)
)
Array
(
[igb0] => INTEGER: ieee8023adLag(161)
[igb1] => INTEGER: ieee8023adLag(161)
[ipfw0] => INTEGER: ethernetCsmacd(6)
[lo0] => INTEGER: softwareLoopback(24)
[lagg0] => INTEGER: ethernetCsmacd(6)
)
Véase también#
SNMP::getErrno
SNMP::getError