0.00
Рейтинг
0.00
Сила

Использование плагинов в v.0.4

Безболезненное расширение функционала — достаточно проблематичный вопрос (под «безболезненностью» я понимаю весь спектр удобства для пользователей движка).

Я думаю, вы еще не забыли, что для добавления новых возможностей в версиях до 0.3.1 включительно используются Хаки и Модули. При этом установка любого стороннего творения дело достаточно хитрое и небезопасное, часто требующее ориентирования в архитектуре и особенностях движка. Для преодоления этих проблем в ядро v.0.4 была введена система плагинов:


К чему мы стремились создавая систему плагинов?

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


Для тех, кого заинтересовали подробности

Список файлов шаблона

/blog/add — страница создания/редактирования блога
/blog/admin — страница управления блогом
/blog/blog — страница профиля блога
/blog/comment — комментарии
/blog/index — главная страница блогов
/blog/topic — страница топика

Читать дальше →

Текущие изменения в коде и архитектуре движка

Этот пост больше предназначен для тех, кто использует ЛС на уровне кода. Постараюсь ввести в курс того, что происходит сейчас в SVN проекта над кодом и архитектурой.

Сейчас наметились три основные изменения:
  • изменения логики работы с БД и кешем
  • создание универсальных комментариев
  • возможность обрабатывать Ajax запросы прямо в экшенах

Теперь более подробно о каждом.
Читать дальше →

Механизм хуков в движке

В продолжении топиков LiveStreet как платформа для модулей и Тест хуков в движке появилась поддержка хуков.

Использовать можно так:
1. В любом месте(модуле, экшене) установить вызов необходимого хука на метод модуля
$this->Hook_AddExecModule('topic_show','Test_MyHookRun',10);
регистрирует на событие topic_show вызов метода MyHookRun у модуля Test с приоритетом 10.
2. В любом месте установить вызов хука на функцию
$this->Hook_AddExecFunction('topic_show','var_dump',-5);
регистрирует вызов функции var_dump
3. Создать класс хука в каталоге /classes/hooks/ с именем файла HookTest.class.php с содержанием
<? 
class HookTest extends Hook {	
	public function RegisterHook() {
		$this->AddHook('topic_show','testHookFunct',__CLASS__,-3);
	}
	
	public function testHookFunct($aVars) {
		var_dump("Hook it!");
	}
}
?>

Читать дальше →

Набор стандартных шаблонов для социальных сетей на базе LiveStreet

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

Шаблоны:

Читать дальше →

Описание ядра LiveStreet

Данная документация прежде всего для людей знакомых с PHP(объектной моделью) и желающих модифицировать движок.

Общее представление


Движок LiveStreet построен на базе собственного фреймворка с использованием модульности и модели MVC.
Фреймворк представляет из себя каркас из абстрактных классов(абстракции module, action, block, mapper, entity), ядро(engine), роутер(route) и набор системных модулей(модули с префиксом sys_).
Читать дальше →