Symfony2 AngularJS Environment Variable Assetic URL

0

Einer der großen Vorteile eines PHP Frameworks sind die unterschiedlichen Environments, die für die unterschiedlichen Staging Umgebungen gesetzt werden können. Hier können neben unterschiedlichen Datenbanken u.a. auch die sehr nützliche Debug Toolbar ein- und ausgeblendet werden. Generell werden die nötigen Symfony Config Settings hier in der app.php bzw. der app_dev.php Datei vorgenommen. Im Live-Betrieb sollte die app_dev gar nicht erreichbar sein. Das kann man serverseitig entsprechend einstellen.

Symfony2 AngularJS Environment Variable Assetic URL

Symfony2 AngularJS Environment Variable Assetic URL

Kommen wir nur zu dem Anwendungsfall. Der bezieht sich in meinem Falle zwar auf AngularJS kann aber auch mit jedem anderen Javascript AJAX Request zu tragen kommen. Auch hier brauche ich natürlich den entsprechenden Wert vom Environment. Der muß dann aber natürlich in das Frontend Javascript gegeben, also gerendert werden. Das hier geschriebene Beispiel bezieht sich auf ein Twig Template. Hier kann Symfony2 AngularJS Environment Variable dann direkt ausgelesen werden.

Symfony2 AngularJS Environment Variable Assetic URL

Die Kombination zwischen Symfony und Twig ist eine starke Kombination. Damit hat man viele Möglichkeiten. Modernes Webdesign ist sehr interaktiv. Hier hat AngularJS erheblich mehr Möglichkeiten. Man kann das auch alles über Twig und AJAX Requests über jQuery schaffen. Aber auch mit dieser Kombination braucht man die Symfony Environment Variable, damit man je nach Environment unterschiedliche app Files ansteuern.

Hier wird also je nach Environment die config-dev.js oder die config-prod.js geladen. Hier noch ein Beispiel für eine Config-Konstante für AngularJS, die dann auch dem entsprechenden Controller übergeben werden muß. Das versuche ich allerdings noch zu verbessern.

 

About Author

PHP Kurs und Inhouse Schulungen für Webdevelopment mit Continuous Integration - Clean Coder, Blogger, Autor, Dozent und Senior Webdeveloper www.rolandgolla.de

Leave A Reply