Symfony

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Symfony
Logo

výchozí stránka Symfony
Vývojář Sensio Labs
Aktuální verze 3.1.0-RC1, 3.2.0 (30. května 2015)
Operační systém Multiplatformní
Typ softwaru Webový aplikační framework
Licence MIT licence
Web symfony.com

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 LabsPaříži.

Webová stránka projektu byla spuštěna 18. listopadu 2005,[2] Symfony2 vyšla v roce 2011.

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

Symfony 2[editovat | editovat zdroj]

Verze Symfony 1.4.X je poslední a ačkoli bude udržována až do listopadu 2012 [5] dál se s jejím vývojem nepočítá. Nástupcem je Symfony 2, který vyšel v srpnu 2011.

Reference[editovat | editovat zdroj]

  1. symfony framework forum: General discussion ⇒ New symfony tagline brainstorming
  2. symfony Web PHP Framework » Blog » Two years of symfony
  3. Symfony Blog - Delicious Preview built with Symfony
  4. Symfony Blog - Dailymotion, powered by Symfony
  5. http://www.symfony-project.org/installation Symfony The Choice Matrix

Externí odkazy[editovat | editovat zdroj]