我一直在阅读Symfony文档,以了解如何创建插件。但是,这两个教程似乎提供了大量额外信息(例如模型等)。
我想知道的是,为了让控制器和模板从插件目录中运行,绝对最低要求是什么?
例如,只是一个索引操作和一个相应的“Hello World”模板。
此外,这种自动路由还是必须手动更改?
任何建议表示赞赏。
感谢。
答案 0 :(得分:7)
要做你要求的事情,你需要以下内容:
MyPlugin/
modules/
my_module/
actions/
actions.class.php
templates/
indexSuccess.php
然后,您需要在ProjectConfiguration中启用该插件,并在您的settings.yml中为您要使用它的任何应用启用该模块。
路由不是自动的。您需要手动将路由添加到routing.yml,或者您可以创建一个侦听器,并在routing.load_configuration
被触发时附加/预先添加路由。使用第二个选项也意味着创建一个PluginConfiguration
类,您可以通过事件调度程序将侦听器连接到事件。
基本上,插件遵循与应用程序相同的基本结构 - 除了几乎所有内容都是可选的。你是否需要做一些事情真的取决于你的插件做什么。您还可以查看使用sfTaskExtraPlugin
它有生成基本插件框架和插件模块框架的任务。
答案 1 :(得分:0)
一些例子
启用ProjectConfiguration中的插件 转到'core \ config \ ProjectConfiguration.class.php'并在setup()
中添加下一个代码$this->enablePlugins('MyPlugin');
启用settings.yml中的模块
all:
.settings:
enabled_modules: [my_module]