Справочник
SDK (DcApi) v200.1.1
Шпаргалка DcApi: фасады Schema, query, xfields. Код SDK — в DevCraft Admin, не в пакете DLE API.
DcApi — точка входа внутри того же PHP, что и сайт (не HTTP-клиент к /api/v2, без Bearer). Код лежит в DevCraft Admin (devcraft/src/sdk/dle/, namespace DevCraft\Dle\{Schema,Fluent,Xfield,Sdk}), пакет DLE API его только потребляет.
Пошаговые сценарии: гайд SDK. Выбор слоя: Слои данных Admin.
Грузится вместе с devcraft/init.php — отдельный bootstrap и установленный DLE API не нужны:
require_once DLEPlugins::Check(ROOT_DIR . '/devcraft/init.php');Фасады
| Метод | Назначение |
|---|---|
DcApi::news() | Новость (post) + nested |
DcApi::user() | Пользователь |
DcApi::comment() | Комментарий |
DcApi::conversation() | Переписка |
DcApi::plugin() | Плагин |
DcApi::file() / DcApi::file('images') | Файлы / изображения |
DcApi::staticPage() | Статическая страница |
DcApi::schema('banners') | Builder по имени таблицы |
DcApi::query('post') | SELECT / фильтры |
DcApi::xfield(…) / DcApi::modifyXfield('post') | Доп. поля каталога |
Минимальный пример:
DcApi::news()->withTitle('Заголовок')->withCategory([1, 2])->create();
DcApi::query('post')->where('category', '1')->fetchAll();Мост в QueryBuilder
Equality-запрос переносится в generic-слой Admin и обратно:
DcApi::query('post')->where('approve', '1')->limit(10)->toQueryBuilder()->load();
DevCraft\Dle\Fluent\TableQuery::fromQueryBuilder(QueryBuilder::create('users')->withLimit(5))->fetchAll();Ограничения и выбор слоя: Слои данных Admin.