2013-08-19 6 views
5

Я использую угловой интерфейс с Symfony. Когда я объявляю свой $routeProvider, я должен включить мой /app_dev.php/, потому что я установил режим html 5 в true: $locationProvider.html5Mode(true);.Symfony2 с использованием аксессуаров с угловыми маршрутами HTML5

$routeProvider.when('/app_dev.php/admin', 
        {templateUrl: 'index.html', controller: AdminCtrl}) 
       .when('/app_dev.php/admin/schedule/', 
        {templateUrl: 'schedule.html', controller: ScheduleCtrl}) 
       .otherwise('/app_dev.php/admin'); 
$locationProvider.html5Mode(true); 

против

$routeProvider.when('/admin', 
        {templateUrl: 'index.html', controller: AdminCtrl}) 
       .when('/admin/schedule/', 
        {templateUrl: 'schedule.html', controller: ScheduleCtrl}) 
       .otherwise('/admin'); 
$locationProvider.html5Mode(true); 

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

Я Есть хороший способ справиться с этим, возможно, с assetic, когда я делаю дамп, чтобы обнаружить, что я делаю дамп для dev против prod или мне просто нужно мучительно помнить, чтобы изменить пути для целевой envirnment?

Благодаря

ответ

6

Попробуйте использовать FOSJsRoutingBundle. Этот комплект позволяет вам показывать вашу маршрутизацию в вашем JavaScript-коде. Это означает, что вы сможете генерировать URL с заданными параметрами, например, с компонентом Router, представленным в ядре Symfony2. https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

+0

Я посмотрел на модуль и, кажется, гораздо лучшее решение, по тому, что я прочитал, я понимаю, что сгенерированные маршруты работают подобно генерации пути в ветке и контроллеры. Это будет намного лучший способ решить проблему. Я проведу несколько тестов с этим модулем и посмотрю, как это работает для меня. – nienaber

2

Вы могли бы использовать различные правила перезаписи в вашем .htaccess. А потом gitignore файл. Так что на вашем локальном хосте он всегда маршрутизируется через app_dev.php и на prod через app.php. Для того, чтобы помочь вам демпинг маршруты, Symfony2 имеет команду: http://symfony.com/doc/current/cookbook/configuration/apache_router.html

+0

Это интересное решение. Я буду смотреть в него. В настоящее время для разработки я не использую apache, а встроенный PHP-сервер и пишу скрипт перезаписи, который имитирует то, что сейчас нежелательно. – nienaber

+0

Но тогда вам нужно будет поддерживать свои маршруты и .htaccess – Wissem

Смежные вопросы