Download the PHP package zorn-v/urfa-client without Composer
On this page you can find all versions of the php package zorn-v/urfa-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download zorn-v/urfa-client
More information about zorn-v/urfa-client
Files in zorn-v/urfa-client
Package urfa-client
Short Description Universal PHP client for UTM5 NetUp billing system based on api.xml
License GPL-3.0
Informations about the package urfa-client
URFAClient
Универсальный PHP клиент для биллинговой системы NetUp UTM5 на основе api.xml
Установка
composer require zorn-v/urfa-client
Зависимости
- UTM 5.3-005 >=
- PHP 7.1 >=
- Ext: OpenSSL, SimpleXML, Hash, Filter
Описание параметров
option | default | описание |
---|---|---|
login* | — | логин администратора или пользователя |
password* | — | пароль администратора или пользователя соответственно |
host* | — | адрес ядра UTM5 |
port | 11758 | порт ядра UTM5 |
timeout | 30 | время ожидания ответа от сервера |
protocol | auto | ssl или tls (доступно с версии UTM-5.3-002-update16) или auto (доступно с версии UTM-5.3-005-update2, работает с OpenSSL 1.1) |
admin | TRUE | указываем какой пользователь подключается, если TRUE предоставляет сертификат admin.crt для соединения, используется только для протокола ssl |
api | api_53-005.xml | путь до файла api.xml |
log | FALSE | сборщик логов, если TRUE, перехватывает исключения UrfaClientException |
debug | FALSE | логирование отсылаемых и принимаемых пакетов |
Пример
Рассмотрим пример использования библиотеки на примере функции rpcf_add_user_new, у нас есть XML описание:
И так, нам нужно описать входные параметры (элемент input) в ассоциативный массив.
Если в элементе присутствует атрибут default
, параметр считается необязательным.
Получаем полное описание параметров функции rpcf_add_user_new
из api.xml:
На основе данного описания оставляем необходимые нам параметры, порядок параметров неважен.
Как было замечено, разработчики UTM5 не пришли к единому формату описания функций. Отсюда возник вопрос, какое имя давать параметру for
для элементов массива?
Поэтому было принято решение, в качестве имени использовать имя предыдущего атрибута из api.xml
(в некоторых случаях с этим будут проблемы). В нашем случае будет так:
Если попадется элемент error
будет выброшено исключение XML Described error:, а далее атрибуты ошибки.
C условиями if
все просто, если истина, то заходим внутрь. И содержание обрабатывается, как описано выше.
В итоге, получаем минимальный набор параметров для создания пользователя:
В переменную $result
попадут данные которые описаны в элементе output.
debug опция
Если хотите видеть что конкретно (в байтах) отсылается/принимается, можно поступить например так
Возможные проблемы
- Тестировалось на версии биллинга UTM-5.3-005-update2
- Тестировались не все функции из api.xml
- Не реализована передача типа long для PHP x32
- При обновлении api.xml обязательно проверяйте используемые функции
История изменений
CHANGELOG.md