Всю жизнь пользовался
https://github.com/klein/klein.php удобен тем что все, что нужно для создания web-приложений здесь уже все интегрировано и склеено. Но в последнее время он стал редко обновляться, issue растут, пулл-реквесты тоже.
Поэтому принял решение переехать на компоненты симфони.
Чтобы заменить Klein мне нужно:
pimple/pimple - DI
symfony/http-foundation + symfony/http-kernel - Request\Response
symfony/routing + symfony/config + symfony/yaml - маршруты
symfony/templating - шаблонизатор
Как было удобно что в Klein все это уже склеено, а теперь мне надо все это склеить самому.
Ну ок, есть ядро отдельным пакетом, есть приложение (их несколько все используют одно ядро и расширяют его)
Код ядра
$fileLocator = new FileLocator([__DIR__]);
$loader = new YamlFileLoader($fileLocator);
$routes = $loader->load('routes.yaml');
routes.yaml находится в каталоге где ядро и хранит в себе маршруты используемые ядром и обязательно нужные всем приложениям, а также надо как-то подключить файл с маршрутами индивидуальными для приложения, находятся они в приложении /app/routes.yaml пытаюсь подключится и понятно что путь не находит, как правильно передать путь к файлу?
... несколько маршрутов используемых ядром
# app routes
app_routes:
resource: '/app/routes.yaml'
UPDATE #1
Нашел свою ошибку, указал правильный путь и все заработало, а как можно этот путь задать извне, вернее я нашел в доках решение
https://symfony.com/doc/current/routing/service_co...$container = new ContainerBuilder();
$container->setParameter('app.routes_path', '../../server/app/routes.yaml');
app_routes:
resource: '%app.routes_path%'
А он мне такой Cannot load resource "%app.routes_path%"