Ваше приложение на Silex разрослось до такой степени, что файл с роутами читать стало неудобно? Воспользуйтесь возможностями фреймворка для организации контроллеров.
Группируйте контроллеры:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// define controllers for a blog $blog = $app['controllers_factory']; $blog->get('/', function () { return 'Blog home page'; }); // ... // define controllers for a forum $forum = $app['controllers_factory']; $forum->get('/', function () { return 'Forum home page'; }); // define "global" controllers $app->get('/', function () { return 'Main home page'; }); $app->mount('/blog', $blog); $app->mount('/forum', $forum); |
Храните каждый контроллер (логическую группу роутов) в своем файле:
1 2 3 4 5 6 7 8 |
// blog.php $blog = $app['controllers_factory']; $blog->get('/', function () { return 'Blog home page'; }); return $blog; // app.php $app->mount('/blog', include 'blog.php'); |
Детали и другие полезные возможности вы можете почитать тут — Organizing Controllers — Documentation — Silex — The PHP micro-framework based on Symfony2 Components