Symfony

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.

Historie

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

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 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

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

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í

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

  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

Média použitá na této stránce

Symfony2.svg
Autor: Fabien Potencier, Licence: CC BY-SA 1.0
Logo of Symfony2 Framework
Symfony project.png
Autor: Symfony Project, Licence: CC BY-SA 3.0
Default index page of a Symfony Project