DevCraft Документации
Гайды

SDK (практика) v200.1.0

Как пользоваться DcApi на том же PHP, что и сайт: новости, пользователи, плагины, query.

DcApi — код внутри того же PHP-процесса, что и DLE. Это не HTTP-клиент к /api/v2: Bearer и OAuth не нужны. Шпаргалка фасадов: reference/sdk. Сценарии по HTTP — в гайдах рядом (ссылки ниже).

Когда SDK, а когда HTTP

СитуацияЧто брать
Модуль / плагин / хук на этом сайтеSDK
Мобилка, другой сервер, PostmanHTTP /api/v2endpoints

Подключение

После установки плагина 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-searchDcApi::query('post')->where('approve', 1)->fetchAll().

Доп. поля каталога: xfields-newsDcApi::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();

См. также

На этой странице