SNMP::get

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

SNMP::get — Récupère un objet SNMP

Description

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

Récupère un objet SNMP spécifié par l'identifiant objectId en utilisant une requête GET.

Liste de paramètres

Si objectId est une chaîne de caractères, alors SNMP::get() retournera un objet SNMP sous la forme d'une chaîne de caractères. Si objectId est un tableau, tous les objets SNMP demandés seront retournés sous la forme d'un tableau associatif d'identifiants d'objets SNMP ainsi que de leurs valeurs.

objectId

Le ou les objets SNMP (OID)

preserveKeys

Lorsque objectId est un tableau, et que le paramètre preserveKeys est défini à true, les clés dans le résultat seront reprises exactement de l'objet objectId, sinon, la propriété SNMP::oid_output_format sera utilisée pour déterminer le format des clés.

Valeurs de retour

Retourne les objets SNMP demandés, sous la forme de chaînes ou de tableaux, suivant le type du paramètre objectId, ou false si une erreur survient.

Erreurs / Exceptions

Lance une SNMPException si une erreur de la bibliothèque survient et que son type est inclus dans le masque de bits SNMP::$exceptions_enabled. Sinon, émet un E_WARNING.

Exemples

Exemple #1 Un seul objet SNMP

Un seul objet SNMP peut être demandé de 2 façons : sous la forme d'une chaîne de caractères, retournant ainsi une valeur sous forme de chaîne de caractères également, ou un tableau contenant un seul élément, retournant ainsi un tableau associatif.

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

Résultat de l'exemple ci-dessus est similaire à :

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

Exemple #2 Plusieurs objets 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();

Résultat de l'exemple ci-dessus est similaire à :

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

Voir aussi