Přeskočit na obsah

Symfony

Z Wikipedie, otevřené encyklopedie

Šablona:Infobox Software

Symfony je webový aplikační framework pro vývoj webových aplikací pro PHP 5 vycházející z návrhového vzoru MVC. Vznikl původně pod názvem Sensio Framework[1] jako odnož projektu Mojavi3-DEV, který měl v sobě integrován ORM vrstvu Propel.

Celý framework je z velké části inspirován jinými webovými aplikačními frameworky jako Ruby On Rails, Django a Spring. Symfony je open-source, je vydáván pod MIT licencí a jeho vývoj je dále sponzorován francouzskou firmou Sensio Labs v Paříži.

Webová stránka projektu byla spuštěna 18. listopadu 2005[2].

Open source komponenty frameworku

Ve svém základu využívá Symfony několik open source projektů:

Symfony také využívá některé své vlastní komponenty které jsou samostatně k dispozici na vlastním webu. Mezi ně patří například Symfony YAML, parser umožňující převádět YAML soubory do PHP polí a zpět.

Za použití pluginů může Symfony také podporovat některé další projekty jako:

Od verze Symfony 1.2 není standardně implementován žádný JavaScriptový framework a volba je ponechána pouze na uživateli.

Struktura projektů v Symfony

Každý projekt napsaný ve frameworku Symfony je rozdělen do jednotlivých aplikací (nejčastěji frontend a backend), ty se dále děli na moduly a ty na jednotlivé akce.

S tím souvisí i hierarchie konfiguračních YAML souborů kde jednotlivá nastavení se mohou postupně přepisovat (nejnižší prioritu má nastavení projektu, nejvyšší nastavení konkrétního modulu).

Command-line

Trochu nezvykle na rozdíl od ostatních PHP frameworků vyžaduje Symfony přístup na command-line, což může být problém na sdílených web hostinzích. Vytváření projektů, aplikací, modulů, mnohá nastavení a údržba se provádí právě přes příkazový řádek.

Interpretrem pro všechny vaše příkazy je soubor symfony, který se nachází v kořenovém adresáři všech Symfony projektů. Ten budete zadávat jako parametr pro PHP interpretr.

Syntaxe je stejná jak pro Windows tak pro Unixové systémy.

Za předpokladu, ze jsme v kořenovém adresáři projektu, vypíšeme aktuální verzi Symfony jakou používáme:


V Unixu:

$ php symfony -V

Ve Windows:

c:\muj_projekt> php.exe symfony -V


Nyní můžeme vytvořit aplikaci frontend:

$ php symfony generate:app frontend

Užitečným příkazem je také příkaz pro smazání veškeré cache:

$ php symfony cache:clear

Pro vypsání všech úloh, které může standardně Symfony vykonat můžeme použít následující příkaz:

$ php symfony list

Je dobré si pamatovat, že tento seznam lze dále rozšířit nainstalováním přídavných pluginů.

Pro nápovědu jaké funkce má například příkaz generate zadejte:

$ php symfony list generate

A nebo pro nápovědu ke konkrétní funkci příkazu generate:

$ php symfony help generate:app

Ukázkový projekt Jobeet

Na adrese Jobeet běží ukázkový projekt napsaný v Symfony přesně podle knihy Practical symfony. Je povoleno v něm cokoli modifikovat, každých 24 hodin se automaticky přepíše databáze do původního stavu.

Praktické použití

Symfony je používán mnoha známými webovými stránkami po celém světě. Mezi ty nejznámější patří:

U nás pak:

Reference

Externí odkazy