Symfony - Что требуется для создания плагина? - PullRequest
4 голосов
/ 07 февраля 2011

Я изучал документацию Symfony, чтобы узнать, как создать плагин. Тем не менее, эти два учебника дают много дополнительной информации (например, модели и т. Д.).

Что я хотел бы знать, что является абсолютным минимальным требованием для работы контроллера и шаблона из каталога плагинов?

Например, просто действие индекса и соответствующий шаблон «Hello World».

Кроме того, это маршрутизация для этого автоматического или я должен что-то изменить вручную?

Любой совет приветствуется.

Спасибо.

Ответы [ 2 ]

7 голосов
/ 07 февраля 2011

Чтобы сделать то, что вы спрашиваете, вам потребуется следующее:

MyPlugin/
  modules/
    my_module/
      actions/
        actions.class.php
      templates/
        indexSuccess.php

Затем вам нужно будет включить плагин в вашей ProjectConfiguration, а также включить модуль в вашем файле settings.yml для любых приложений, которые вы хотите использовать.используйте его.

Маршрутизация не автоматическая.Вам необходимо вручную добавить маршруты к routing.yml, или вы можете создать прослушиватель и добавлять / добавлять маршруты при срабатывании routing.load_configuration.Использование второй опции также подразумевает создание класса PluginConfiguration, в котором ваши слушатели подключаются к событию через диспетчер событий.

По сути, плагин следует той же базовой структуре, что и приложение - за исключением того, что почти все является необязательным.Нужно ли вам делать что-то действительно зависит от того, что делает ваш плагин.Также вы можете захотеть взглянуть на использование sfTaskExtraPlugin, в котором есть задача генерации базового каркаса плагина и каркаса модуля плагина.

0 голосов
/ 18 июня 2011

некоторые примеры

включить плагин в вашей ProjectConfiguration перейдите в 'core \ config \ ProjectConfiguration.class.php' и добавьте следующий код в setup ()

$this->enablePlugins('MyPlugin');

включить модуль в ваших settings.yml

all:
  .settings:
    enabled_modules:  [my_module]
...