-
-
Notifications
You must be signed in to change notification settings - Fork 8
Миграция с 1.7 (и ниже) на 1.8 (и выше)
Coder edited this page Jul 7, 2018
·
6 revisions
Несколько слов о миграции с 1.7 (и ниже) на 1.8 (и выше) версии библиотеки PHP U-On.
В версии 1.8 был произведён рефакторинг кода, добавленно множество разных полезный функций, а так же выполнена миграция на концепцию Dependency Injection.
- Добавлен класс
Config
(от него зависит классAPI
и все endpoint'ы) через который можно указывать параметры:- token - Ваш персональный токен для работы с API U-On
- timeout - Время ожидание ответа от сервера
- allow_redirects - Разрешить переадресацию запроса
- http_errors - false - отображать коды ошибок, true - тригерить эксшепшены
- decode_content - Декодировать контент
- verify - Проивзодить верификацию данных
- cookies - Принимать кукисы
- tries - Максимальное количество попыток, которое необходимо предпринять чтобы избежать ошибки 429
- seconds - Количестве секунд (может быть float или integer) которое нужно ожидать между попытками для 429й
- Теперь не нужно указывать глобальную переменную
UON_TOKEN
, поддержка данной глобальной переменной была полностью удалена из библиотеки, поэтому теперь необходимо указывать вашtoken
через соотвествующий параметер классаConfig
.
$config = new Config();
$config->set('token', 'your-oun-token');
- Добавлен класс
API
через который динамически инициализируются необходимые классы
$uon = new API($config);
В результате рефакторинга все рабочие классы были перемещенны в директорию Endpoint
, в соотвествии со стандартом PSR-4 неймспэйсы у данных классов были изменены.
Было:
\UON\Classname
Стало:
\UON\Endpoint\Classname
Что делать:
В верхней части Вашего скрипта, где через use
подключаются классы, нужно заменить \UON
на \UON\Endpoint
, но лучше всего использовать специально созданный класс API
, вызывая соотвествующие методы.
$config = new Config();
$config->set('token', 'your-oun-token');
$uon = new API($config);
// Для работы с пользователями
$uon->users->get(1);
$uon->users->search('some keys');
$uon->users->getEmail('[email protected]');
// Для работы с лидами
$uon->leads->get(1);
$uon->leads->getDate('2000-01-01', '2000-01-02');
// Для работы с заявками
$uon->requests->get(1);
$uon->requests->create($request_details);
$uon->requests->createTourist($tourist_details);
$uon->requests->getDate('2000-01-01', '2000-01-02');
// и так далее, полный список классов и их методов, а так же описание каждого метода тут:
// https://github.com/DrTeamRocks/uon/blob/master/README.API.md
Было:
array(
'status' => 'status-code',
'message' => array(
'some', 'data', 'from', 'uon'
)
)
Стало:
array(
'code' => 'status-code',
'reason' => 'description-of-status-code'
'message' => array(
'some', 'data', 'from', 'uon'
)
)
Что делать:
Заменить status
на code
в обработчике ответа.