(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::get — Получает SNMP-объект
Метод выполняет SNMP-запрос GET и получает SNMP-объект,
идентификатор которого указали в аргументе objectId.
При передаче в аргументе objectId строки метод SNMP::get()
вернёт SNMP-объект в виде строки. При передаче
в аргументе objectId массива запрошенные SNMP-объекты
вернутся как ассоциативный массив идентификаторов и значений SNMP-объектов.
objectIdpreserveKeysobjectId массива
и установке для параметра 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-объектов
<?php
$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
)