====== SNMPHelper ====== Являє собою шар абстракції для взаємодії з різноманітними пристроями за допомогою SNMP. Поведінка трішечки керується відповідними опціями SNMP_* в [[alteriniconf|alter.ini]]. Ініціалізація: $snmp=new SNMPHelper(); Типу робимо walk: $ip = '192.168.0.151'; $community = 'public'; $oid = '.1.3.6.1.2.1.1.1.0'; $cache = true; $result = $snmp->walk($ip, $community, $oid, $cache); Ну або в один рядок, якщо так простіше сприймати: $result = $snmp->walk('192.168.0.151', 'public', '.1.3.6.1.2.1.1.1.0', true); І отримуємо в result на вихлопі sysDescr. Оскільки версія хост-системи в нашому прикладі у нас змінюється не щомиті, ми можемо вільно покладатися на кешовані дані. Там де нам потрібно отримувати дані realtime, природно, краще використовувати кеш у false. Але здебільшого на практиці ми робимо періодичні опитування обладнання і хочемо надалі використовувати ці результати десь. Тобто приклад із кешем у true з нашого прикладу є в цьому контексті повністю валідним. Ось ми типу отримали версію системи пристрою, а потім хочемо її десь показати. У такому разі, за наявності кешованих даних наш walk() для цього ж пристрою з цим же OID-ом миттєво поверне ці дані з кешу, не роблячи чергового безглуздого запиту. Якщо ж кеш відсутній або вже протух за часом - він їх запитає, і закешує для своїх наступних викликів на час з опції SNMPCACHE_TIME. Коротше це все просто про швидкодію і юзабіліті. Типу робимо set: $ip = '192.168.0.151'; $community = 'private'; $data[] = array( 'oid' => '.1.3.6.1.2.1.1.6.0', 'type' => 's', 'value' => 'some location' ); $resut = $snmp->set($ip, $community, $data); І загалом так, це все, що вам у базі потрібно знати про цей клас. Ми ж обіцяли, що все буде до неподобства просто? ;)