(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::get — Получает объект SNMP
Получает объект SNMP, указанный в
objectId, с помощью запроса GET.
Если objectId является строкой, то SNMP::get()
вернёт объект SNMP в виде строки. Если
objectId является массивом, все запрошенные объекты SNMP
будут возвращены как ассоциативный массив идентификаторов объектов SNMP и их
значений.
objectIdОбъект SNMP (OID) или объекты
preserveKeys
Когда objectId является массивом и
для параметра preserveKeys установлено значение true ключи в результатах
будут взяты точно так же, как в objectId,
в противном случае свойство SNMP::oid_output_format используется для определения
формы ключей.
Возвращает запрошенные объекты SNMP в виде строки или массива
в зависимости от типа objectId или false в случае возникновения ошибки.
По умолчанию метод не выбрасывает исключений.
Выдачу исключений SNMPException при библиотечных ошибках включают
путём установки свойству класса SNMP exceptions_enabled значения,
которое определит конкретные ошибки, которые вызовут исключение.
Подробнее смотрите
объяснении свойства SNMP::$exceptions_enabled.
Пример #1 Одиночный объект SNMP
Одиночный объект SNMP может быть запрошен двумя способами: как строковое возвращаемое строковое значение или как одноэлементный массив с ассоциативным массивом в качестве вывода.
<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
$sysdescr = $session->get(array("sysDescr.0"));
print_r($sysdescr);
?>Вывод приведённого примера будет похож на:
STRING: Test server
Array
(
[SNMPv2-MIB::sysDescr.0] => STRING: Test server
)
Пример #2 Множественные объекты SNMP
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->get(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();Вывод приведённого примера будет похож на:
Array
(
[SNMPv2-MIB::sysDescr.0] => STRING: Test server
[SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)