Symfony

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Symfony je webový aplikační framework pro vývoj webových aplikací pro PHP vycházející z návrhového vzoru MVC. 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 LabsPaříži.

...

Historie

Framework původně vznikl pod názvem Sensio Framework jako odnož projektu Mojavi3-DEV, který měl v sobě integrován ORM vrstvu Propel.

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

Symfony 1. 4. +morex byla poslední revizí 1. verze udržovanou do listopadu 2012 . Nástupcem bylo Symfony 2 vydané v srpnu 2011. V listopadu 2015 byla vydána 3. verze frameworku. V listopadu 2017 byla vydána 4. verze. V listopadu 2019 byla vydána verze číslo 5. Doposud poslední verze číslo 7 vyšla v prosinci 2023.

Open source komponenty frameworku

Ve svém základu využívá Symfony několik open source projektů: * Propel a Doctrine, ORM vrstvy * Creole a PDO, databázová abstrakční vrstva * PRADO, PHP framework pro podporu lokalizace * Pake, command-line interpret * PHPUnit, unit tester * Zend Framework, Zend_Logger a Zend_Cache jsou použity pro logování a cachování * Mojavi, MVC framework * Swift Mailer, odesílání emailů

Symfony také využívá některé své vlastní komponenty které jsou samostatně k dispozici na [url=http://components. symfony-project. +moreorg/]vlastním webu[/url] . 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: * Prototype a jQuery, JavaScriptové frameworky * +moreus'>script. aculo. us, JavaScriptová knihovna postavená na Prototype pro visuální efekty * [url=http://github. com/leafo/]PHP Less[/url], CSS parser postavený na projektu [url=http://lesscss. org/]Less[/url] * TinyMCE a CKeditor, jako WYSIWYG editory * TCPDF, PHP knihovna pro generování PDF dokumentů.

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

Typický projekt v Symfony je rozdělen do mnoha podadresářů: * app - konfigurace, šablony a případné překlady ** cache - cache zkompilovaných šablon *** dev - vývojové prostředí *** prod - produkční prostředí ** config - nastavení, většinou v YAML ** logs - logy ** Resources - zdroje *** views - šablony * src - většina kódu MVC ** bundles - bundles jsou do jisté míry samostatné části webu zajišťující jeho funkčnost. Obsahuje podadresáře pojmenované podle jednotlivých bundlů, každý z nichž může mít vlastní podadresář pro controllery, adresář pro testy, atd. +more * vendor - závislosti dodavatelů třetích stran * web - adresář přístupný z internetu ** bundles - v tomto adresáři jsou bundles implementované v src, zde již s vlastními zdroji (obrázky, CSS, …).

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ělí 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 s kaskádovou dědičností (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.

Ukázkový projekt Jobeet

Na adrese [url=http://www. jobeet. +moreorg]Jobeet[/url] běží ukázkový projekt napsaný v Symfony přesně podle knihy [url=http://www. symfony-project. org/get/pdf/jobeet-1. 4-doctrine-en. pdf]Practical symfony[/url] . 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 [url=https://web. archive. +moreorg/web/20120212082550/http://trac. symfony-project. org/wiki/ApplicationsDevelopedWithSymfony]mnoha známými webovými stránkami[/url] po celém světě. Mezi ty nejznámější patří: * [url=http://www. askeet. com/]Askeet[/url], open source komunitní Q&A služba * Del. icio. us, webová služba umožňující ukládání, sdílení a objevování záložek * [url=http://dailymotion. com]Dailymotion[/url], částečně přešlo na Symfony a pokračuje i nadále.

U nás pak: * [url=http://www.ijv.cz/]Institut jazykového vzdělávání[/url] * [url=http://www.kky.zcu.cz/]Katedra kybernetiky ZČU[/url]

Reference

Externí odkazy

[url=http://www.symfony.com/]Oficiální stránka[/url]

Kategorie:Webové aplikační frameworky Kategorie:Svobodný software naprogramovaný v PHP

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top