Symfony

From Wikipedia, the free encyclopedia

Symfony
Remove ads

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.

Stručná fakta Vývojář, Aktuální verze ...
Remove ads

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]

Remove ads

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.

Remove ads

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

Externí odkazy

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads