Symfony

Z Wikipedie, otevřené encyklopedie
Symfony
Logo
Výchozí stránka Symfony
Výchozí stránka Symfony
VývojářSensio Labs
Aktuální verze7.0.6 (3. dubna 2024)
Operační systémMultiplatformní
Vyvíjeno vPHP
Typ softwaruWebový aplikační framework
LicenceMIT licence
Websymfony.com
Některá data mohou pocházet z datové položky.

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[editovat | editovat zdroj]

Framework původně vznikl pod názvem Sensio Framework[1] 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[2].

Symfony 1.4.x byla poslední revizí 1. verze udržovanou do listopadu 2012 [3]. 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.[4]

Open source komponenty frameworku[editovat | editovat zdroj]

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 Archivováno 31. 10. 2011 na Wayback Machine.. 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[editovat | editovat zdroj]

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.
  • 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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

Na adrese Jobeet běží ukázkový projekt napsaný v Symfony přesně podle knihy Practical symfony Archivováno 1. 7. 2015 na Wayback Machine.. 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í[editovat | editovat zdroj]

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[editovat | editovat zdroj]

  1. symfony framework forum: General discussion ⇒ New symfony tagline brainstorming. www.symfony-project.org [online]. [cit. 2010-03-30]. Dostupné v archivu pořízeném dne 2008-12-22. 
  2. symfony Web PHP Framework » Blog » Two years of symfony. www.symfony-project.org [online]. [cit. 2010-03-30]. Dostupné v archivu pořízeném z originálu dne 2009-01-22. 
  3. http://www.symfony-project.org/installation Archivováno 18. 12. 2010 na Wayback Machine. Symfony The Choice Matrix
  4. http://symfony.com/doc/current/contributing/community/releases.html
  5. Symfony Blog - Delicious Preview built with Symfony. www.symfony-project.org [online]. [cit. 2010-03-30]. Dostupné v archivu pořízeném z originálu dne 2010-04-01. 
  6. Symfony Blog - Dailymotion, powered by Symfony. www.symfony-project.org [online]. [cit. 2010-03-30]. Dostupné v archivu pořízeném z originálu dne 2009-11-18. 

Externí odkazy[editovat | editovat zdroj]