Гайды
SDK (практика) v200.1.0
Как пользоваться DcApi на том же PHP, что и сайт: новости, пользователи, плагины, query.
DcApi — код внутри того же PHP-процесса, что и DLE. Это не HTTP-клиент к /api/v2: Bearer и OAuth не нужны. Шпаргалка фасадов: reference/sdk. Сценарии по HTTP — в гайдах рядом (ссылки ниже).
Когда SDK, а когда HTTP
| Ситуация | Что брать |
|---|---|
| Модуль / плагин / хук на этом сайте | SDK |
| Мобилка, другой сервер, Postman | HTTP /api/v2 — endpoints |
Подключение
После установки плагина bootstrap обычно уже есть. Вручную:
require_once DLEPlugins::Check(ROOT_DIR . '/api/sdk/bootstrap.php');Новость
То же, что создание новости по HTTP:
DcApi::news()
->withTitle('Заголовок')
->withCategory([1, 2])
->withExtras('allow_rate', 1)
->withXfield('foo', 'bar')
->create();Поиск: posts-search ↔ DcApi::query('post')->where('approve', 1)->fetchAll().
Доп. поля каталога: xfields-news ↔ DcApi::xfield(…) / DcApi::modifyXfield('post').
Пользователь
DcApi::user()
->withName('newuser')
->withEmail('[email protected]')
->create();HTTP: users-create, users-search.
Плагин
DcApi::plugin()
->withName('My Plugin')
->withVersion('1.0.0')
->withFiles([
[
'file' => 'engine/modules/example.php',
'action' => 'replace',
'searchcode' => 'старое',
'replacecode' => 'новое',
],
])
->create();HTTP: plugins-create.
Универсально
DcApi::schema('banners')->with('approve', 1)->create();
DcApi::query('users')->where('user_group', 4)->fetchAll();