Я ищу способы внедрения системы модулей в мою прикладную среду. Модули - это файлы классов, которые каким-то образом изменяют дизайн, так что они автоматически интегрируются с вмешательством пользователя.
Моя структураспециально созданный фреймворк, но очень похожий на codeigniter, только немного светлее1006 *
Чтобы были вызваны следующие модули и содержимое там было:
/system/applications/admin/modules/header/a.php
/system/applications/admin/modules/header/b.php
/system/applications/admin/modules/sidebar/a.php
/system/applications/admin/modules/sidebar/b.php
Мне кажется, что это будет работать нормально, но проблема в том, что я никогдаЯ построил систему модулей раньше, и я чувствую, что они более классифицируются как ловушки.
В моей голове я в основном хочу простую систему, которая состоит из 1 файла класса и шаблонов, если требуется, файл calss, вероятно, будет выглядетькак это:
class Module_HelloWorld extends Module
{
public static function info()
{
return array(
'name' => 'Hello Word',
'version' => '1.0.0',
'description' => 'Dispalys "hello World"',
'author' => 'Robert Pitt',
);
}
public function execute($context,$action)
{
//$context would be the current view at the point of execution for the view
//$action would be header / sidebar
}
}
Итак, мой вопрос в двух словах, что было бы лучшим способом создать модсистема для моей платформы, позволяющая удалять сторонние модули внутри каталога, а затем устанавливать их от администратора без особого вмешательства пользователя?