Чтобы сделать то, что вы спрашиваете, вам потребуется следующее:
MyPlugin/
modules/
my_module/
actions/
actions.class.php
templates/
indexSuccess.php
Затем вам нужно будет включить плагин в вашей ProjectConfiguration, а также включить модуль в вашем файле settings.yml для любых приложений, которые вы хотите использовать.используйте его.
Маршрутизация не автоматическая.Вам необходимо вручную добавить маршруты к routing.yml, или вы можете создать прослушиватель и добавлять / добавлять маршруты при срабатывании routing.load_configuration
.Использование второй опции также подразумевает создание класса PluginConfiguration
, в котором ваши слушатели подключаются к событию через диспетчер событий.
По сути, плагин следует той же базовой структуре, что и приложение - за исключением того, что почти все является необязательным.Нужно ли вам делать что-то действительно зависит от того, что делает ваш плагин.Также вы можете захотеть взглянуть на использование sfTaskExtraPlugin
, в котором есть задача генерации базового каркаса плагина и каркаса модуля плагина.