май 02 2009

DataLife Engine API

Дорогие друзья,

начиная с версии 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, охватывающий все аспекты взаимодействия с скриптом.

Комментарии

pentagon

pentagon

2 мая 2009 17:11 Клиенты
1
Отличный шаг! Снимаю шляпу.
himik03-05

himik03-05

2 мая 2009 21:43 Клиенты
1
Круто !!! Я не программер, сам модули писать не могу, но идея 100% будет востребована.
Red Drag

Red Drag

3 мая 2009 10:14 Клиенты
1
Большое спасибо!часто пишу моды,но не понимал для чего API! request
Eagle

Eagle

3 мая 2009 18:27 Клиенты
1
Вот из-за отсутствия API я в свое время от ДЛЕ и отказался :(
Captain

Captain

3 мая 2009 20:25 Клиенты
1
Здорово, DLE все больше радует.
mvia

mvia

4 мая 2009 10:51 Клиенты
1
Давно пора.
aol

aol

4 мая 2009 12:47 Посетители
1
Ура, оно свершилось!
celsoft

celsoft

4 мая 2009 13:56 Администраторы
0
Цитата: aol
Ура, оно свершилось!

оно не свершилось, оно пытается полноценно свершится, а для этого необходима поддержка и желание разработчиков сторонних модулей.
ShVad

ShVad

6 мая 2009 21:33 Клиенты
0
celsoft,
надо сделать авто подключение модулей.
megaborgovik

megaborgovik

9 мая 2009 11:45 Клиенты
0
Просто не верится, я было думал совместимость с модулями в этом деле нереализумая вещь, и впринципе смирился. А оказалось работа ведётся над этим.
Это огромный шаг на пользу абсолютно всем !

БРАВИСИМО !!! Очень порадовали !!!

Тоже снимаю шляпу.

Удачного внедрения !!!
AquaVin

AquaVin

9 мая 2009 23:16 Клиенты
1
Цитата: ShVad
надо сделать авто подключение модулей.

Полностью поддерживаю, если бы модули можно было бы ставить так как на Joomla, тогда бы CMS точно была близка к идеалу.
Pleomax

Pleomax

11 мая 2009 22:28 Посетители
0
О-о-е-е... Это круто!! После полноценного внедрения ЭйПиАй ДЛЕ будет вне конкуренции! =)
Pavel Wershinin

Pavel Wershinin

14 мая 2009 02:37 Посетители
0
Спасибо! Обязательно буду использовать API в работе! smile
Pavel Wershinin

Pavel Wershinin

5 июня 2009 21:25 Посетители
0
celsoft,
Прошу прощения, а кто вам писал api.class.php ?
Я дважды использовал API и оба раза баги, приходилось править сам класс. sad Уж не помню что у меня там не работало в первый раз, но вот сегодня, делал через API рассылку Персональных сообщений, опять пришлось вносить правки в ваш код.
А именно строка №186 выглядит так

$this->db->query( "update " . USERPREFIX . "_users set pm_unread = pm_unread + 1, pm_all = pm_all+1 " );


Из-за нее количество сообщений плюсуется не только получателю, а всем пользователям сайта

Пришлось дописывать, строчку.

$this->db->query( "UPDATE " . USERPREFIX . "_users set pm_all=pm_all+1, pm_unread=pm_unread+1 where user_id='$user_id'" );
celsoft

celsoft

6 июня 2009 20:29 Администраторы
0
Pavel Wershinin,
спасибо за информацию. Изменения будут внесены.
Alex Ginner

Alex Ginner

8 июля 2009 22:13 Клиенты
0
Я не прогрмист, но понимаю зачем это делается.При установке некоторых модулей, надо делать дамп базы данных сайта, что конкретно это не удобно и для простых пользователей так и програмистам. Да и мое мнение, что всетаки ДЛЕ будет на высоте. Уважаемые разработчики и програмисты сделайте ДЛЕ так чтобы он был первым. Я за ДЛЕ. Заранее спасибо

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Календарь
«    Апрель 2017    »
ПнВтСрЧтПтСбВс
 12
3456789
10111213141516
17181920212223
24252627282930
Опрос на сайте
Совершаете ли вы покупки в интернет?

Популярные новости
Архив новостей
Апрель 2017 (3)
Март 2017 (2)
Февраль 2017 (1)
Январь 2017 (1)
Декабрь 2016 (3)
Ноябрь 2016 (3)