snr/plugin
最新稳定版本:1.0.0
Composer 安装命令:
composer require snr/plugin
包简介
Реализует систему типов (плагинов), классы которых помечаются аннотациями или атрибутами (вдохновлено Plugin API Drupal 8)
README 文档
README
Позволяет разработчикам описывать свои собственные типы бизнес сущностей. Так, можно создать класс, пометить его специальной аннотацией и система "распознает" его как один из типов вашей сущности. Далее с помощью встроенного класса менеджера можно создавать экземпляры этих классов.
Установка
composer require snr/plugin
Использование
Все примеры смотрите в tests\PluginManagerTest.php
- Сначала нужно определить свой "Менеджер плагинов". Создайте класс, наследующий класс DefaultPluginManager, как это сделано в примере - классе TestPluginManager.
- Так, в конструкторе TestPluginManager мы передаём базовому классу: папку, где будут классы экземпляров (параметр subdir); класс этих экземпляров (параметр plugin_interface); класс для аннотации (plugin_definition_annotation_name).
- Определить папку, где у вас будут находиться классы ваших типов (плагинов). В тестовом примере это папка Plugin. У вас может быть любая другая. Передаётся через параметр 'subdir' конструктора DefaultPluginManager'а.
- Создать свой класс аннотации для экземпляров или использовать класс Plugin, который идёт по умолчанию. Передаётся через параметр 'plugin_definition_annotation_name' конструктора DefaultPluginManager'а.
- Создать свой интерфейс для экземпляров, примером является интерфейс TestPluginInterface. Передаётся через параметр 'plugin_interface' конструктора DefaultPluginManager'а.
- Создать свои классы, каждый из которых описывает один из типов экземпляров. В тестовм примере это класс TestPlugin.
- В коде создать экземпляр вашего "Менеджера плагинов". Вызвать его метод createInstance, получив экземпляр нужного вам класса. См. пример в PluginManagerTest.php.
统计信息
- 总下载量: 37
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2025-06-09