начиная с версии DataLife Engine v.8.0 было принято решение начать стандартизацию написания сторонних модулей для DataLife Engine. Для этого в скрипте разрабатываются API функции, которые позволяют получить стандартизированный доступ к данным скрипта, и в этой статье хочу написать немного подробнее об этой новой возможности. Некоторые разработчики спросят, а для чего эту нужно? Ведь наши модули прекрасно работают и без использования API. API предназначен для написания модификаций совместимых со старыми и будущими версиями скрипта. В случае использования API для получения данных из базы, вы можете быть уверенными что данный код будет работать и в будущих версиям, тем самым вы облегчается проверка и адаптация кода при выходе новой версии. Также при использовании API вам нет необходимости писать собственные функции для выборки данных, нет необходимости подключать и объявлять необходимые для работы с БД классы. Достаточно просто подключить файл API, и начать использовать его функции, все остальное он берет на себя.
Рассмотрим небольшой пример использования API. Например нам необходимо получить всю информацию о пользователе с логином "admin". Для этого используем очень простой код:
include_once ('engine/api/api.class.php');
$info = $dle_api->take_user_by_name('admin');
В результате выполнения этого небольшого кода в переменной $info будет находится вся информация из профиля пользователя с логином admin. При этом вам нет необходимости задумываться есть ли подключение к БД или нет, подключены или нет необходимые классы. Данный код вы можете использовать как внутри файлов самого скрипта DLE, так и просто в других скриптах, не имеющих отношения к DLE. Тем самым вы можете организовывать стандартизированные интеграции скрипта DLE, с другими скриптами. Например форумами.
Разработка полноценного API, только начата и на данный момент API имеет очень ограниченный набор функций, связанный в основном с работой с пользователями сайта. Полный список существующих на данный момент функций вы можете посмотреть в файле engine/api/readme.txt. Поэтому мы просим всех заинтересованный в данном API разработчиков посетить специально созданную для этого тему на форуме и оставить свои пожелания о том какие новые функции вы хотите видеть в новых версиях. Потому что только опираясь на ваши потребности можно создать полноценный API, охватывающий все аспекты взаимодействия с скриптом.
Комментарии