У меня есть несколько частных настраиваемых пакетов, которые я использую в своих проектах Symfony. В Symfony 3 они жили в подкаталоге src:
src/
DSL/
DSLLibraryBundle/
DSLTelnetBundle/
...
SiteBundle/ # (or AppBundle)
В Symfony 4 пакет для конкретного приложения исчез, и мне неясно, где должны находиться мои пользовательские пакеты.
Документация по пакетам (https://symfony.com/doc/current/bundles/best_practices.html#bundles-naming-conventions) не содержат конкретных рекомендаций по размещению пользовательских пакетов.
Я попытался разместить свой каталог DSL непосредственно в каталоге проекта и в src /. В любом случае я получаю неопределенные ошибки класса.
В настоящее время у меня есть:
src/
DSL/
LibraryBundle/
DSLLibraryBundle.php
Пакетный файл:
// src/DSL/DSLLibrary/DSLLibraryBundle.php:
namespace DSL\LibraryBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class DSLLibraryBundle extends Bundle
{
}
Запись в bundles.php:
DSL\LibraryBundle\DSLLibraryBundle::class => ['all' => true],
Текущая ошибка при запуске консольной команды:
Неустранимая ошибка PHP: Uncaught Symfony \ Component \ Debug \ Exception \ ClassNotFoundException: Попытка загрузить класс «DSLLibraryBundle» из пространства имен «DSL \ LibraryBundle».
Несколько примечаний:
- Мои пользовательские пакеты не устанавливаются через Composer.
- Фактический каталог DSL / будет символической ссылкой, как только я получу эту работу