Přeskočit na obsah

Symfony

Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)
Symfony
Logo
Výchozí stránka Symfony
Výchozí stránka Symfony
VývojářSensio Labs
Aktuální verze7.1.3 (26. července 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.

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.

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:

  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]