Wiki
Clone wikiplugsystem / События
В библиотеке предусмотрена система событий.
По умолчанию есть следующее событие:
before_return оно вызывается перед выводом страницы, в любом из менеджеров.
Для того чтобы получить текущий html достаточно вызвать \plugsystem\GlobalParams::get("result_render")
Если вам нужно внести коррективы то вы можете просто обновить это значение
\plugsystem\GlobalParams::get("result_render",$newval);
Как создать событие?
Первый аргумент это название события, Второй аргумент это массив в котором должны быть представленны все передаваемые значения.
#!php \plugsystem\models\EventModel::run("name_of_event", array("one","two","second"));
Как подписаться на событие.
У каждого плагина есть файл config.php,чтобы подписаться на события в него нужно внести некоторые коррективы а именно:
#!php <?php namespace plugins\nameplugin; use plugsystem\models\AbstractConfig; class config extends AbstractConfig { public function __construct() { parent::__construct("nameplugin", "nameplugin", true); $this->addEvent('\\plugins\\nameplugin\\models\\ModelTest', "name_of_event", "testEvent", "static"); $this->addEvent('\\plugins\\nameplugin\\models\\ModelTest', "name_of_event", "publicEvent", "public"); } }
#!php <?php namespace plugins\nameplugin\models; class ModelTest { static function testEvent($one,$two,$three){ echo $one; echo $two; echo $three; } public function publicEvent($one,$two,$three){ echo $one; echo $two; echo $three; } }
Это был базовый пример организации системы событий в системе
Updated