Учебники

Symfony — Связки

Пакет Symfony — это набор файлов и папок, организованных в определенной структуре. Пакеты моделируются таким образом, чтобы их можно было повторно использовать в нескольких приложениях. Само основное приложение упаковано в пакет и обычно называется AppBundle .

Пакет может быть упакован специально для приложения, такого как AdminBundle (раздел администратора), BlogBundle (блог сайта) и т. Д. Такие пакеты не могут совместно использоваться приложением. Вместо этого мы можем смоделировать определенную часть приложения, такую ​​как блоги, как универсальный пакет, так что мы можем просто скопировать пакет из одного приложения в другое приложение для повторного использования функциональности блога.

Структура расслоения

Основная структура пучка заключается в следующем.

  • Контроллер — Все контроллеры должны быть размещены здесь.

  • DependencyInjection — Здесь необходимо разместить весь код и конфигурацию, связанные с внедрением зависимостей.

  • Resources / config — конфигурации, связанные с пакетом, находятся здесь.

  • Ресурсы / Представление — Связанные шаблоны представления помещены здесь.

  • Ресурсы / общедоступные — здесь размещены связанные с пакетом таблицы стилей, скрипты Java, изображения и т. Д.

  • Тесты — файлы связанных с модулем тестов находятся здесь.

Контроллер — Все контроллеры должны быть размещены здесь.

DependencyInjection — Здесь необходимо разместить весь код и конфигурацию, связанные с внедрением зависимостей.

Resources / config — конфигурации, связанные с пакетом, находятся здесь.

Ресурсы / Представление — Связанные шаблоны представления помещены здесь.

Ресурсы / общедоступные — здесь размещены связанные с пакетом таблицы стилей, скрипты Java, изображения и т. Д.

Тесты — файлы связанных с модулем тестов находятся здесь.

Создание пакета

Давайте создадим простой пакет TutorialspointDemoBundle в нашем приложении HelloWorld .

Шаг 1 — Выберите пространство имен. Пространство имен пакета должно включать имя поставщика и имя пакета. В нашем случае это Tutorialspoint \ DemoBundle .

Шаг 2 — Создайте пустой класс, TutorialspointDemoBundle , расширив класс Bundle и поместите его в каталог src / Tutorialspoint / DemoBundle .

namespace Tutorialspoint\DemoBundle; 
use Symfony\Component\HttpKernel\Bundle\Bundle;  

class TutorialspointDemoBundle extends Bundle { 
}

Шаг 3 — Зарегистрируйте класс в списке пакетов, поддерживаемых приложением в классе AppKernel .

public function registerBundles() { 
   $bundles = array( 
      // ... 
      // register your bundle 
      new Tutorialspoint\DemoBundle\TutorialspointDemoBundle(), 
   ); 
   return $bundles; 
}

Это все, что нужно для создания пустого пакета, а все остальные понятия такие же, как и у приложения. Symfony также предоставляет консольную команду generate: bundle для упрощения процесса создания нового пакета, который заключается в следующем.