Плагины
Плагины в MV представляют собой классы для выполнения задач, когда не требуется управление таблицей в базе данных как в случае с моделями.
Плагины могут инстанцироваться в объекте $mv сразу при его создании, а не как модели по принципу lazy load.
Основные правила
- Класс плагина должен наследоваться от класса Plugin.
- Файл должен иметь название вида plugin_name.plugin.php и располагаться в папке plugins в корне проекта.
- Для активации плагина его класс должен быть прописан в файле config/plugins.php.
- Объект плагина доступен в объекте $mv -> PluginName.
- Плагин инстанцируется до выбора и подключения шаблона сразу при создании объекта $mv в случае выставления значения свойства $auto_start.
//Файл plugins/cart.plugin.php
class Cart extends Plugin
{
//Если требуется запуск плагина до подключения файла шаблона
protected $auto_start = true;
private $items = [];
private $products_model;
public function __construct()
{
//В отличии от моделей, конструктор можно дополнять
parent::__construct();
//Объект модели товаров
$this -> products_model = new Products();
}
public function addItemToCart($id, $quantity)
{
...
}
}
//Активация плагина в файле config/plugins.php
$mvActivePlugins = [..., 'Cart'];
//Пример использования плагина в файле шаблона
$mv -> Cart -> addItemToCart(56, 2);
Предыдущий раздел
Авторизация