2013-08-19 15 views
5

Używam kątowego interfejsu z Symfony. Kiedy deklaruję swój $routeProvider muszę dołączyć mój /app_dev.php/ becuase Ustawiam tryb HTML 5 na true: $locationProvider.html5Mode(true);.Symfony2 używający assetic z Angularowymi trasami 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); 

vs

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

Problem polega na tym, że trzeba pamiętać, aby zmienić te trasy z powrotem, gdy chcę używać w środowisku produkcyjnym.

I istnieje dobry sposób obsłużyć to być może z assetic kiedy zrobić zrzut do wykrywania Robię zrzut dla dev vs prod czy po prostu trzeba boleśnie pamiętać o zmianie ścieżki dla envirnment docelowej?

Dzięki

Odpowiedz

6

spróbuje użyć FOSJsRoutingBundle. Ten pakiet pozwala ujawnić routing w kodzie JavaScript. Oznacza to, że będziesz w stanie wygenerować URL z podanymi parametrami, tak jak możesz to zrobić za pomocą komponentu Router dostarczonego w rdzeniu Symfony2. https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

+0

Spojrzałem na moduł i wydaje się, że jest o wiele lepszym rozwiązaniem, przez to, co czytam, rozumiem, że generowane trasy działają podobnie do generowania ścieżki w gałązce i kontrolerów. Byłby to znacznie lepszy sposób rozwiązania problemu. Przeprowadzę test z tym modułem i zobaczę, jak to działa. – nienaber

2

można użyć różne reguły przepisywania w .htaccess. A potem gitignore plik. Tak więc na twoim lokalnym hoście zawsze jest kierowana przez app_dev.php i na prod poprzez app.php. Aby pomóc dumping trasy, Symfony2 ma polecenie: http://symfony.com/doc/current/cookbook/configuration/apache_router.html

+0

To interesujące rozwiązanie. Zapoznam się z tym. Obecnie do programowania nie używam Apache, ale raczej wbudowanego serwera PHP i pisania skryptu do przepisywania, który imituje to, co nie jest obecnie pożądane. – nienaber

+0

Ale wtedy będziesz musiał zachować swoje trasy i .htaccess – Wissem