Jak začít se Symfony - Uvítací stránka bez obrázků

10. duben 2015 | 07.15 |
› 

symfonyV PHP jsem se od klasického "prasokódu", přes XSLT a vlastní framework dostal až k MVC frameworkům. Nejdříve CodeIgniter, posléze Nette. Už delší dobu jsem ale pokukoval po Symfony. Ale spřátelení neproběhlo hned na začátku úplně příjemně :))

Zobrazení uvítací stránky (Welcome page) je snad základní věc a je to samotný začátek tutoriálu Get Started / The Quick Tour. Já jsem se ale hned na tomto bodě zasekl a to hned se dvěma problémy.

1) Při použití integrovaného serveru v Symfony se uvítací stránka zobrazila, ale bez obrázků a CSS

2) Při použití vlastního serveru se zobrazila chyba 404 - nešlo o debug mód symfony, ani o chybu prohlížeče

Uvítací stránka bez obrázků a CSS

Uvítací stránka se zobrazila, ale cesty k obrázkům a CSS neexistovaly. Na jejich místě (adresář web/bundles) byly jen prázdné soubory.

symfony_web_bundles

Zkoušel jsem znovu instalovat symfony, aktualizovat PHP na vyšší verzi, hledat na internetu i forum Symfony, ale nikde se mi nepodařilo něco o tomto problému najít. Samozřejmě bych to mohl nechat být, ale když je to samotný úvod tutoriálu, tak bych rád, aby mi to fungovalo tak, jak má, když už se držim návodu.

symfony_welcome_bad

Po konzultaci s kolegy, jsem postupně zjistil, že ty prázdné soubory mají být symlinky na adresáře umístěné v src/*. Což ale ve Windows nepoznám.

Následně jsem se dozvěděl, že Symfony doporučuje všechny zdroje dávat do jednotlivých bundlů, používat odkazování přes assets a až před nasazením na produkci si nechat zdroje z bundles vytáhnout a překopírovat je do příslušných cest v adresáři web. Toto je možné udělat přes příkaz:

php app/console assets:install

Díky tomu už se mi z prázdných souborů ve web/bundles vytvořily opravdu adresáře s reálnými obrázky a CSS a uvítací stránka se zformátovala správně.

symfony_welcome_good

Více o příkazu: New in Symfony 2.6: Smarter assets:install commandEN.

Je škoda, že ani o jedné z těchto věcí se v tutoriálu nepíše (když je to nutné pro rozběhnutí uvítací obrazovky) - stačil by alespoň odkaz na stránku, kde to bude vysvětleno. Protože nebýt kolegů, tak bych asi ještě pořád hledal, kde dělám chybu.

Konfigurace vlastního serveru

Chybová stránka 404 byla samozřejmě produkční, proto jsem ani nepoznal, že by to měla být chyba ze Symfony. Když jsem ručně zadal /app_dev.php tak už se zobrazila vývojová uvítací stránka. Teď už jen zbývá nastavit server tak, aby správně zobrazoval na localhostu právě vývojovou verzi.

Zpět na hlavní stranu blogu