Development

Documentation/cs_CZ/book/1.0/03-Running-Symfony

You must first sign up to be able to contribute.

Kapitola 3 - Provozování symfony

Jak jste zjistili v předešlých kapitolách, symfony framework je sada souborů napsaných v PHP. Symfony projekt tyto soubory používá, takže nainstalovat symfony znamená získat tyto soubory a učinit je dostupnými pro projekt.

Protože je symfony PHP 5 framework, vyžaduje PHP 5. Že máte nainstalovanou správnou verzi, se můžete ujistit zadáním následujícího příkazu v příkazové řádce:

> php -v

PHP 5.2.0 (cli) (built: Nov 2 2006 11:57:36)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

Pokud je číslo verze 5.0 nebo vyšší, můžete začít s instalací, tak jak je popsána dále v této kapitole.

Instalace Sandboxu

Pokud chcete pouze zjistit, co symfony umí, pravděpodobně si vyberete co nejrychlejší instalaci. V tom případě můžete použít sandbox.

Sandbox je jednoduše archív souborů. Obsahuje prázdný symfony projekt včetně všech potřebných knihoven (symfony, pake, lime, Creole, Propel a Phing), výchozí aplikaci a základní konfiguraci. Bude ihned fungovat, není potřeba konfigurovat server nebo použít nějaké dodatečné balíčky.

Pokud chcete sandbox nainstalovat, stáhněte si jeho archív z http://www.symfony-project.com/get/sf_sandbox.tgz. Rozbalte jej v kořenovém adresáři vašeho webového serveru (obvykle web/ nebo www/). Z důvodů jednotnosti budeme v této kapitole předpokládat, že jste archív rozbalili do adresáře sf_sandbox/.

CAUTION Mít všechny soubory ve webovém kořenovém adresáři je sice vhodné pro testování na lokálním počítači, ale velmi nevhodné na produkčním serveru, protože všechny vaše interní aplikace jsou pak viditelné pro koncové uživatele.

Vaši instalaci můžete otestovat spuštěním symfony v příkazovém řádku. Přesuňte se do adresáře sf_sanbox/ a na *nixovém systému zadejte:

> ./symfony -V

Ve Windows zadejte příkaz:

> symfony -V

Měli byste vidět číslo verze sandboxu:

symfony version 1.0.0

Nyní se ujistěte, že webový server může procházet sandboxem zadáním tohoto URL:

http://localhost/sf_sandbox/web/frontend_dev.php/

Měli byste vidět stránku s gratulací, která vypadá jako na Obrázku 3-1, což znamená, že instalace je hotova. Pokud ne, chybová zpráva by vás měla navést, které konfigurační změny je potřeba provést. Také se můžete podívat do sekce "Řešení problémů", která je dále v této kapitole.

Obrázek 3-1 - Sandbox, stránka s gratulací

Sandbox, stránka s gratulací

Sandbox je určen pro zkoušení symfony na lokálním počítači a ne pro vývoj komplexních aplikací, které mají být nasazeny na webu. Nicméně verze symfony, která je začleněna do sandboxu je plně funkční a rovnocená té, kterou můžete instalovat pomocí PEAR.

Pokud chcete sandbox odinstalovat, stačí pouze odstranit adresář sf_sandbox/ z vašeho web/ adresáře.

Instalace knihoven symfony

Pokud vyvíjíte aplikaci, budete pravděpodobně potřebovat instalovat symfony dvakrát: jednou pro vaše vývojové prostředí a jednou pro hostovací server (pokud již symfony není na hostu nainstalováno). Ať už vyvíjíte jednu nebo více aplikací, budete se chtít vyhnout duplikování a udržovat soubory symfony pouze na jednom místě.

Protože symfony framework se vyvíjí rychle, může být nová verze symfony vydána pouze několik dní po vaší první instalaci. Také můžete přemýšlet o upgradu frameworku jako o jednom bloku a to je další důvod, proč sdílet pouze jednu instanci knihoven symfony napříč všemi symfony projekty.

Takže když se rozhodnete pro instalaci knihoven pro opravdový vývoj aplikací, máte dvě aternativy:

  • Pro většinu lidí je doporučena instalace pomocí PEAR. Instalace může být jednoduše sdílena a upgradována a instalační proces je přímočarý.
  • Instalace pomocí Subversion (SVN) je určena pouze pro pokročilé PHP vývojáře, kteří chtějí získat výhody nejnovějších patchů a vlastností a/nebo přispívat do projektu symfony.

Symfony integruje několik dalších balíčků:

  • pake je CLI utilita.
  • lime je utilita pro jednotkové testy.
  • Creole slouží pro databázovou abstrakci. Podobně jako PHP Data Objects (PDO) poskytuje rozhraní mezi vaším kódem a SQL kódem určité databáze a umožňuje přepnout na jiný databázový engine.
  • Propel je určen pro ORM. Umožňuje trvalost (persistenci) objektů a poskytuje dotazovou službu.
  • Phing je CLI pro Propel.

Pake a lime jsou vyvíjeny týmem symfony. Creole, Propel a Phing pocházejí od jiného týmu a jsou vydány pod licencí LGPL. Všechny tyto balíčky jsou připojeny k symfony.

Instalace symfony jako balíčku PEAR

PEAR balíček symfony obsahuje knihovny symfony a všechny jejich závislosti. Také obsahuje skript, který rozšíří vaše CLI přidáním příkazu symfony.

První krok instalace je přidání kanálu symfony do PEAR příkazem:

> pear channel-discover pear.symfony-project.com

Pro zobrazení knihoven dostupných v tomto kanálu zadejte:

> pear remote-list -c symfony

Nyní můžete nainstalovat nejnovější stabilní verzi symfony:

> pear install symfony/symfony

downloading symfony-1.0.0.tgz ...
Starting to download symfony-1.0.0.tgz (1,283,270 bytes)
.................................................................
.................................................................
.............done: 1,283,270 bytes
install ok: channel://pear.symfony-project.com/symfony-1.0.0

A je to. Soubory symfony a rozhraní příkazového řádku jsou nainstalovány. Úspěšnost instalace můžete ověřit zadáním příkazu symfony s dotazem na číslo verze:

> symfony -V

symfony version 1.0.0

TIP Pokud raději preferujete instalaci nejaktuálnější beta verze, která obsahuje poslední bug fixy a vylepšení, zadejte příkaz pear install symfony/symfony-beta. Beta vydání nejsou úplně stabilní a obecně nejsou doporučeny pro produkční prostředí.

Knihovny symfony jsou nyní nainstalovány v následujících adresářích:

  • $php_dir/symfony/ obsahuje hlavní knihovny.
  • $data_dir/symfony/ obsahuje kostru symfony aplikací, výchozí moduly, konfiguraci, i18n data, atd.
  • $doc_dir/symfony/ obsahuje dokumentaci.
  • $test_dir/symfony/ obsahuje jednotkové testy.

Proměnné _dir jsou součástí vašeho PEAR nastavení. Pro zobrazení těchto hodnot můžete zadat:

> pear config-show

Získání symfony z SVN repozitáře

Pro produkční servery, nebo pokud PEAR není vhodnou volbou, můžete získat nejnovější verzi symfony knihoven ze Subversion repozitáře symfony zadáním příkazu:

> mkdir /path/to/symfony
> cd /path/to/symfony
> svn checkout http://svn.symfony-project.com/tags/RELEASE_1_0_0/ .

Příkaz symfony, který je dostupný pouze u PEAR instalace, je ve skutečnosti voláním skriptu /cesta/k/symfony/data/bin/symfony. Následující příkaz je ekvivalentem symfony -V příkazu pro SVN instalaci:

> php /cesta/k/symfony/data/bin/symfony -V

symfony version 1.0.0

Pokud jste si vybrali SVN instalaci, pravděpodobně už máte existující symfony projekt. Aby tento projekt použil soubory symfony, budete potřebovat změnit dvě proměnné, které jsou definovány v souboru config/config.php vašeho projektu:

[php]
<?php

$sf_symfony_lib_dir  = '/cesta/k/symfony/lib/';
$sf_symfony_data_dir = '/cesta/k/symfony/data/';

Kapitola 19 popisuje další způsoby, jak propojit projekt s instalací symfony (včetně symbolických odkazů a relativních cest).

TIP Další alternativou je stáhnout PEAR balíček (http://pear.symfony-project.com/get/symfony-1.0.0.tgz) a někde ho rozbalit. Dostanete ten samý výsledek jako u SVN instalace.

Nastavení aplikace

Jak jsme se naučili v Kapitole 2, symfony sdružuje související aplikace do projektu. Všechny aplikace projektu sdílejí stejné databáze. Aby mohla být nastavena aplikace, musí být nejprve nastaven projekt.

Vytvoření projektu

Každý symfony projekt dodržuje předdefinovanou adresářovou strukturu. Řádkové příkazy symfony automatizují vytváření nových projektů inicializací kostry projektu s potřebnou stromovou strukturou a přístupovými právy. Takže pokud chcete vytvořit projekt, jednoduše založte nový adresář a požádejte symfony, aby vytvořilo projekt.

Pro PEAR instalaci použijete příkazy:

> mkdir ~/myproject
> cd ~/myproject
> symfony init-project myproject

Pro SVN instalaci vytvoříte projekt příkazy:

> mkdir ~/myproject
> cd ~/myproject
> php /cesta/k/symfony/data/bin/symfony init-project myproject

Příkaz symfony musí být vždy spouštěn z kořenového adresáře projektu (adresář myproject/ v předešlých příkladech), protože všechny úkoly provedené tímto příkazem jsou specifické jen pro tento projekt.

Symfony vytvoří následující adresářovou strukturu:

apps/
batch/
cache/
config/
data/
doc/
lib/
log/
plugins/
test/
web/

TIP

Úkol init-project přidá do kořenového adresáře projektu skript symfony. Tento PHP skript dělá totéž co příkaz symfony instalovaný pomocí PEAR, takže pokud nemáte nativní podporu pro příkazovou řádku, je možné místo symfony používat příkaz php symfony (u SVN instalace).

Vytvoření aplikace

Projekt prozatím ještě není zobrazitelný, protože vyžaduje minimálně jednu aplikaci. Pro její inicializaci použijte příkaz symfony init-app a název aplikace zadejte jako argument:

> symfony init-app myapp

To vytvoří adresář myapp/ (v adresáři apps/ kořene projektu) s výchozí konfigurací a sadou adresářů připravených pro soubory vašeho webového sídla:

apps/
  myapp/
    config/
    i18n/
    lib/
    modules/
    templates/

V adresáři web/ se také vytvoří nějaké PHP soubory odpovídající předním řadičům každého výchozího prostředí:

web/
  index.php
  myapp_dev.php

Soubor index.php je produkční přední kontroler nové aplikace. Protože jste vytvořili první aplikaci projektu, symfony soubor nazvalo index.php místo myapp.php (pokud nyní přidáte novou aplikaci nazvanou mynewapp, nový produkční přední řadič se bude jmenovat mynewapp.php). Zavoláním předního řadiče myapp_dev.php spustíte aplikaci ve vývojovém prostředí. Více o těchto prostředích se můžete dozvědět v Kapitole 5.

Konfigurace webového serveru

Skripty v adresáři web/ jsou vstupními body do aplikace. Aby mohly být přístupné z internetu, musí být nakonfigurován webový server. Na vašem vývojovém serveru, stejně jako u profesionálního hostingu, budete mít pravděpodobně přístup ke konfiguraci Apache a můžete nastavit virtuální host server. U sdíleného host serveru budete asi mít přístup pouze k souboru .htaccess.

Nastavení virtuálního host serveru

Výpis 3-1 je příklad konfigurace Apache, kdy je nový virtuální host server přidán do souboru httpd.conf.

Výpis 3-1 - Příklad konfigurace Apache v souboru apache/conf/httpd.conf

<VirtualHost *:80>
  ServerName myapp.example.com
  DocumentRoot "/home/steve/myproject/web"
  DirectoryIndex index.php
  Alias /sf /$sf_symfony_data_dir/web/sf
  <Directory "/$sf_symfony_data_dir/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/home/steve/myproject/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

V konfiguraci ve Výpisu 3-1 musí být ukazatel cesty $sf_symfony_data_dir nahrazen aktuální cestou. Například pro PEAR instalaci v *nixovém prostředí můžete zadat něco jako:

    Alias /sf /usr/local/lib/php/data/symfony/web/sf

NOTE

Alias pro adresář web/sf/ není povinný. Pokud je ale nastaven, umožňuje, aby Apache nalezl obrázky, stylopisy a JavaScriptové soubory pro debugovací webový panel nástrojů, admin generátor, výchozí stránku symfony stránek a podporu Ajaxu. Alternativou k tomuto aliasu by mohlo být vytvoření symbolického odkazu (symlinku) nebo zkopírování adresáře /cesta/k/symfony/data/web/sf/ do myproject/web/sf/.

Ještě je potřeba restartovat Apache. Vaše nově vytvořená aplikace nyní může být zavolána a zobrazena ve standardním webovém prohlížeči na následujícím URL:

http://localhost/myapp_dev.php/

Měli byste vidět stránku s gratulací, která je podobná té na Obrázku 3-1.

SIDEBAR Přepisování URL

Symfony používá přepisování URL pro zobrazení "elegantních URL" -- popisných umístění, která se dobře zobrazují ve vyhledávačích a před uživatelem skrývají technická data. Více o těchto možnostech, zvaných směrování, se dozvíte v Kapitole 9.

Pokud není vaše verze Apache zkompilována s modulem mod_rewrite, zjistěte zda máte nainstalován mod_rewrite dynamicky sdílených objektů (DSO) a v souboru httpd.conf následující řádky:

AddModule mod_rewrite.c LoadModule rewrite_module modules/mod_rewrite.so

Pro Internet Information Services (IIS) budete potřebovat mít nainstalováno a spuštěno isapi/rewrite. Podívejte se do online dokumentace symfony pro detailnější popis IIS instalace.

Konfigurace sdíleného host serveru

Nastavení aplikace na sdíleném host serveru je trochu složitější, protože host server má obvykle specifické rozložení adresářů, které nemůžete měnit.

VAROVÁNÍ Provoz testů a vývoje přímo na sdíleném host serveru není dobrou praxí. Jeden z důvodů je, že dokud není aplikace dokončena, je plně viditelná, čím odkrývá své vnitřní části a otevírá velké bezpečnostní díry. Dalším důvodem je, že výkon sdílených host serverů často není dostatečný pro testování vaší aplikace pomocí ladících nástrojů. Raději byste tedy neměli začínat váš vývoj na sdíleném host serveru, ale raději vytvořit aplikaci lokálně a po jejím dokončení provést deployment na sdílený host server. Kapitola 16 vám řekne více o technikách a nástrojích deploymentu.

Zkusme si představit, že sdílený host server vyžaduje, aby se webový adresář místo web/ jmenoval www/ a že nemáme přístup k souboru httpd.conf, ale pouze k .htaccess ve webovém adresáři.

V symfony projektu je každá cesta k adresáři konfigurovatelná. Více o tom hovoří Kapitola 19, ale zatím můžeme přejmenovat adresář web na www a změnou konfigurace říci aplikaci, aby s touto změnou počítala. Řádky z Výpisu 3-2 jsou přidány na konec souboru config.php.

Výpis 3-2 - Změna výchozího nastavení adresářové struktury v souboru apps/myapp/config/config.php

[php]
$sf_root_dir = sfConfig::get('sf_root_dir');
sfConfig::add(array(
  'sf_web_dir_name' => $sf_web_dir_name = 'www',
  'sf_web_dir'      => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name,
  'sf_upload_dir'   => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name.DIRECTORY_SEPARATOR.sfConfig::get('sf_upload_dir_name'),
));

Kořenový webový adresář projektu obvykle obsahuje soubor .htaccess, který je zobrazen ve Výpisu 3-3. Můžete jej modifikovat tak, aby vyhovoval požadavkům vašeho sdíleného host serveru.

Výpis 3-3 - Výchozí konfigurace .htaccess, nyní v myproject/www/.htaccess

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # we skip all files with .something
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# big crash from our front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony applicationfailed to start properly"

Nyní byste měli být schopni si prohlídnout vaši aplikaci v prohlížeči. Zkontrolujte zda se zobrazí gratulační stránka po zadání tohoto URL:

http://www.example.com/myapp_dev.php/

SIDEBAR Jiné konfigurace serveru

Symfony je kompatibilní také s jinými serverovými konfiguracemi. Například můžete přistupovat k symfony aplikaci pomocí aliasu, namísto virtuálního host serveru. Také můžete provozovat symfony aplikaci na IIS serveru. K dispozici je mnoho technik a konfigurací, ale není smyslem této knihy je všechny vysvětlit.

Návody na specifické serverové konfigurace lze nalézt na symfony wiki (http://www.symfony-project.com/trac/wiki), která obsahuje mnoho krok-za-krokem tutoriálů.

Řešení problémů

Pokud narazíte na problémy během instalace, zkuste zjistit co nejvíc z výpisu chyb nebo vyhozených výjimek, které se zobrazí v konzoli nebo prohlížeči. Často jsou sebevysvětlující nebo dokonce obsahují odkaz na určitý zdroj na webu o tomto problému.

Typické problémy

Pokud máte stále problémy rozběhnout symfony, zkuste zkontrolovat následující věci:

  • Některé PHP instalace obsahují příkaz pro obě verze: PHP 4 a PHP 5. V tom případě je pravděpodobně potřebným řádkovým příkazem php5 místo php, takže zkuste spustit příkaz php5 symfony. Také možná budete potřebovat přidat SetEnv PHP_VER 5 do vaší .htaccess konfigurace, nebo přejmenovat skripty v adresáři web/ z .php na .php5. Chyba vyhazovaná řádkovým PHP 4 příkazem, pokud zkouší přistupovat k symfony, vypadá takto:

    Parse error, unexpected ',', expecting '(' in .../symfony.php on line 19.
    
  • Paměťový limit definovaný v php.ini musí být nastaven minimálně na 16M. Obvyklým příznakem tohoto problému je chybová zpráva během instalace symfony pomocí PEAR nebo při použití příkazového řádku:

    Allowed memory size of 8388608 bytes exhausted
    
  • Nastavení zend.ze1_compatibility_mode ve vašem php.ini musí být nastaveno na off. Pokud tomu tak není, pokus o zobrazení některého z webových skriptů způsobuje chybu "implicit cloning":

    Strict Standards: Implicit cloning object of class 'sfTimer'because of 'zend.ze1_compatibility_mode'
    
  • Adresáře log/ a cache/ vašeho projektu musí být zapisovatelné webovým serverem. Pokud nejsou nastavena tato adresářová práva, tak pokud o procházení symfony aplikace vrací výjimku:

    sfCacheException [message] Unable to write cache file"/usr/myproject/cache/frontend/prod/config/config_config_handlers.yml.php"
    
  • Definice cesty na vašem systémů musí obsahovat cestu k příkazu php a zrovna tak definice cesty ve vašem php.ini musí obsahovat cestu k PEAR (pokud používáte PEAR).

  • Někdy je na file systému serveru více souborů php.ini (například pokud používáte balíček WAMP). Pro zjištění přesného umístění souboru php.ini, který používá vaše aplikace, zavolejte funkci phpinfo().

NOTE Ačkoliv to není povinné, je z důvodu výkonu silně doporučeno nastavit magic_quotes_gpc and register_globals v souboru php.ini na hodnotu off.

Symfony zdroje

Můžete zjistit, jestli váš problém neřešil už někdo jiný a zkusit najít řešení:

Pokud nenajdete žádnou odpověď, zkuste položit dotaz komunitě symfony. Pro získání odezvy od nejaktivnějších členů komunity můžete poslat váš dotaz do fóra, mailing listu, nebo zkusit IRC kanál #symfony.

Verzování zdrojů

Jakmile je dokončeno nastavení aplikace, je doporučeno začít s procesem verzování zdrojových kódů (neboli kontrola verzí). Verzování zdrojů udržuje všechny změny kódu, přístup k předchozím vydaným verzím, ulehčuje záplatování a umožňuje produktivní týmovou práci. Ačkoli symfony nativně podporuje CVS, je doporučeno používání Subversion (http://subversion.tigris.org/). Následující příklady ukazují Subversion příkazy. Předpokladem je, že máte nainstalován Subversion server a chcete vytvořit nový repozitář pro váš projekt. Doporučeným klientem pro Windows uživatele je TortoiseSVN (http://tortoisesvn.tigris.org/). Pro více informací o verzování zdrojů a zde použitých příkazů se poraďte se Subversion dokumentací.

Následující příklad předpokládá, že $SVNREP_DIR je definována jako proměnná prostředí. Pokud ji nemáte definovanou, musíte proměnnou $SVNREP_DIR nahradit aktuálním umístěním repozitáře.

Vytvoření nového repozitáře pro projekt myproject:

> svnadmin create $SVNREP_DIR/myproject

Tímto pěkně dlouhým příkazem se vytvoří základní struktura (rozložení) repozitáře s adresáři trunk, tags a branches:

> svn mkdir -m "layout creation" file:///$SVNREP_DIR/myproject/trunk file:///$SVNREP_DIR/myproject/tags file:///$SVNREP_DIR/myproject/branches

Toto bude vaše první revize. Nyní je potřeba importovat soubory projektu, kromě dočasných souborů v adresářích cache/ a log/:

> cd ~/myproject
> rm -rf cache/*
> rm -rf log/*
> svn import -m "initial import" . file:///$SVNREP_DIR/myproject/trunk

Zkontrolujte předané soubory zadáním příkazu:

> svn ls file:///$SVNREP_DIR/myproject/trunk/

Vypadá to dobře. Nyní má SVN repozitář referenční verzi (a historii) všech souborů vašeho projektu. To znamená, že soubory aktuálního adresáře ~/myproject/ musí odkazovat do repozitáře. Proto je potřeba nejdříve přejmenovat adresář myproject/ -- pokud bude všechno dobře pracovat, brzy jej smažeme -- a vystěhovat (checkout) repozitář do nového adresáře:

> cd ~
> mv myproject myproject.origin
> svn co file:///$SVNREP_DIR/myproject/trunk myproject
> ls myproject

A je to. Nyní můžete pracovat se soubory umístěnými v ~/myproject/ a předávat (commit) vaše změny do repozitáře. Nezapomeňte vyčistit a smazat adresář myproject.origin/, který už není potřeba.

Zbývá nastavit poslední věc. Když předáte vás pracovní adresář do repozitáře, můžete také kopírovat některé nechtěné soubory, jako třeba ty umístěné v adresářích cache/ a log/. Takže potřebujete pro SVN specifikovat seznam ignorovaných položek pro tento projekt. Také opět potřebujete nastavit plný přístup pro adresáře cache/ a log/:

> cd ~/myproject
> chmod 777 cache
> chmod 777 log
> svn propedit svn:ignore log
> svn propedit svn:ignore cache

Spustí se výchozí textový editor, který je pro SVN nastaven. Pokud se tak nestane, řekněte Subversion aby použilo váš preferovaný editor zadáním:

> export SVN_EDITOR=<name of editor>
> svn propedit svn:ignore log
> svn propedit svn:ignore cache

Nyní jednoduše přidejte všechny soubory z podadresářů myproject/, které by SVN mělo ignorovat během předávání:

*

Uložte a ukončete. Máte hotovo.

Shrnutí

Pokud chcete symfony testovat a hrát si sním na lokálním serveru, je nejlepší volbou pro instalaci sandbox, který obsahuje přednastavená prostředí symfony.

Pro opravdový vývoj nebo produkční server si vyberte PEAR instalaci nebo SVN vystěhování (checkout). Tímto se nainstalují knihovny symfony a ještě budete potřebovat inicializovat projekt a aplikaci. Posledním krokem nastavení aplikace je konfigurace serveru, která může být provedena několika způsoby. Symfony skvěle pracuje s virtuálním host serverem a je to také doporučené řešení.

Pokud máte nějaké problémy během instalace, na webovém sídle symfony můžete nalézt množství tutoriálů a často kladených otázek (FAQ). Pokud to bude potřeba, můžete předložit svůj problém symfony komunitě a dostanete rychlou a efektivní odpověď.

Jakmile je váš projekt zahájen, je dobrým zvykem začít s kontrolou verzí.

Nyní jste připraveni začít používat symfony, takže je čas podívat se, jak vytvořit jednoduchou webovou aplikaci.