update page now

SNMP::get

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getПолучает SNMP-объект

Описание

public SNMP::get(array|string $objectId, bool $preserveKeys = false): mixed

Метод выполняет SNMP-запрос GET и получает SNMP-объект, идентификатор которого указали в аргументе objectId.

Список параметров

При передаче в аргументе objectId строки метод SNMP::get() вернёт SNMP-объект в виде строки. При передаче в аргументе objectId массива запрошенные SNMP-объекты вернутся как ассоциативный массив идентификаторов и значений SNMP-объектов.

objectId
Отдельный OID — идентификатор SNMP-объекта — или массив идентификаторов.
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-объектов

<?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
)

Смотрите также

  • SNMP::getErrno() - Получает код последней ошибки
  • SNMP::getError() - Получает последнее сообщение об ошибке
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top