Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 2 - Instalace Symfony a IDE

V minulé lekci, Úvod do Symfony frameworku pro PHP, jsme se uvedli do PHP frameworku Symfony.

V dnešním tutoriálu se podíváme na instalaci Symfony jako základ naší aplikace. Tuto instalaci provedeme pomocí nástroje Composer, buď samostatně pomocí příkazové řádky, nebo v rámci PhpStorm IDE tak, aby se do vývoje mohli pustit i začínající uživatelé, kteří se zrovna doučili OOP a chtějí zkusit používat nějaký PHP framework.

Pro jistotu ještě jednou připomínám, že pro práci s frameworkem je potřeba dobře znát objektově orientované programování v PHP. Pokud ho dostatečně neovládáte, přečtěte si prosím nejprve místní tutoriál. :)

Potřebný software

První věc, kterou je potřeba udělat, je připravit správný software. Určitě víte, že pro vývoj webových aplikací v PHP potřebujete webový server a dále také budeme potřebovat nějakou tu databázi. Pro začátečníky k instalaci doporučuji nějaký kompletní balíček, např. XAMPP.

Pro Symfony verzi 5.x budete potřebovat PHP verze 7.2.5 nebo vyšší! Od PHP verze 8.0 využívá dokonce Symfony jinou anotaci!

Následně pro ty, co jsou zvyklí psát v textovém editoru jako třeba PSPad, bych doporučil přejít spíše na nějaké IDE, které při práci s frameworkem usnadní jeho používání. Ovšem není to podmínkou. Já zde pro demonstraci instalace ukáži použití PhpStorm, jednoho z nejrozšířenějších profesionálních IDE. Uvidíte sami, že je to s ním krásně jednoduché.

Dále pro samotnou instalaci použijeme snad obecně nejrozšířenější způsob instalace v PHP a to nástroj Composer. Symfony na něm staví jak samotnou instalaci, tak i další rozšíření. Tudíž je potřeba ho také stáhnout a nainstalovat nebo to celé nechat na PhpStorm, který má i zabudované prostředky přímo pro práci s tímto nástrojem. Volba je opět na vás ;)

Vytvoření nového projektu

Začneme tedy vytvořením nového projektu v Symfony. Můžete si zvolit jeden z následujících způsobů.

Možnost 1: Instalace pomocí Composer

Jak už jsem zmiňoval, Composer je nástroj třetích stran pro instalaci a správu závislostí projektů v PHP obecně. Pokud jste jej nikdy nepoužívali, nainstalujte jej pomocí místního článku Composer. Když již máte Composer připravený, stačí si vytvořit složku, kde chcete vytvořit nový projekt, např. hello-world, a v příkazové řádce z ní spustit konkrétní příkaz, který zařídí celou instalaci Symfony a zkontroluje i potřebné závislosti.

Pokud nevíte, jak spustit příkazový řádek v nějaké složce, dělá se to kliknutím kamkoli do složky v průzkumníku Windows, stisknutím Shift a následně kliknutím pravým tlačítkem a vybráním možnosti "Otevřít zde okno příkazového řádku" (případně okno PowerShell).

Nový projekt tedy vytvoříme jediným příkazem:

composer create-project symfony/website-skeleton:"^5" hello-world

Tímto příkazem se vytvořila základní struktura projektu ve složce hello-world/ a to podle Symfony kostry webové aplikace website-skeleton. Ta slouží jako dobrý základ pro nový projekt v tomto frameworku.

Instalace může napoprvé trvat delší dobu.

Možnost 2: Instalace pomocí PhpStorm

Pokud jste se rozhodli pracovat v PhpStorm a máte vše nainstalováno, zbývá už jen vytvoření samotného projektu. To provedeme obdobně jako v každém jiném IDE, kliknutím na tlačítko pro vytvoření nového projektu.

V nově otevřeném okně se zobrazí průvodce a my vybereme jako typ projektu Composer Project:

Vytvoření PHP Symfony projektu - Základy frameworku Symfony pro PHP

V dalších krocích:

  1. Vyplníme název projektu, např. hello-world, společně s cestou, kam se má uložit.
  2. Dále nastavíme, že chceme stáhnout Composer a cestu k našemu PHP interpretru (lze detekovat i automaticky).
  3. V neposlední řadě zvolíme, co budeme pomocí Composeru vlastně instalovat. V našem případě to tedy bude Symfony a to konkrétně kostra webové aplikace website-skeleton. Ta slouží jako dobrý základ pro nový projekt v tomto frameworku.
  4. Jako verzi můžeme vybrat pro jistotu 5.1.x-dev (aby nám to nenainstalovalo náhodou verzi 6 či vyšší, která se časem vydá)

Tímto vytvoříme první projekt postavený na Symfony v rámci PhpStorm IDE pomocí nástroje Composer.

Instalace může trvat delší dobu.

Spuštění projektu

Když již máme vytvořený nový projekt s nainstalovaným Symfony, je načase ho spustit v rámci našeho webového serveru a podívat se na výsledek. Opět zde ale máte na výběr.

Možnost 1: Spuštění pomocí vestavěného serveru

Nejjednodušší možnost, která nevyžaduje žádnou další konfiguraci, je spuštění pomocí vestavěného webového serveru v PHP. Stačí zavolat následující příkaz ve složce projektu:

php -S 127.0.0.1:8000 -t public

Když nyní najedeme v prohlížeči na adresu 127.0.0.1:8000, zobrazí se nám uvítací stránka Symfony:

Základy frameworku Symfony pro PHP

V PhpStorm lze nastavit běhovou konfiguraci.

Možnost 2: Spuštění pomocí Apache serveru

Je jasné, že pro spuštění projektu pod Apache serverem je potřeba, aby server běžel, a aby složka projektu byla umístěna někde, kam má Apache přístup. Co už tak jasné není je, že před samotným spuštěním budeme muset nastavit ještě pár přesměrování.

Směrování

Nejprve si je potřeba uvědomit, že adresářová struktura projektu je stavěná tak, že jeho zobrazení probíhá až po vstupu do složky public/, kde se nachází soubor index.php. My ale chceme, aby výsledná adresa začínala názvem projektu (např. http://localhost/hello-world/) a pokračovala konkrétní hezkou URL. Tudíž, žádné public zde nechceme a navíc všechny URL adresy chceme směrovat na tentýž jeden index.php.

Elegantní cesta, jak toto zařídit v rámci Apache serveru, je nastavit směrování pomocí .htaccess souborů, v našem případě pomocí dvou. Jeden nás automaticky "přesune" do složky public/ a tudíž bude kořenová URL adresa pouze http://localhost/hello-world/. Druhý pak zařídí správné směrování na soubor index.php již v rámci samotné složky public/.

Začneme tedy vytvořením prvního souboru .htaccess v adresáři projektu, do kterého vložíme následující kód:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ public [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^public/
    RewriteRule ^(.*)$ public/$1
</IfModule>

Druhý soubor už nebudeme vytvářet sami, ale nainstalujeme si ho opět pomocí nástroje Composer tím, že spustíme následující příkaz v kořenové složce projektu:

composer require symfony/apache-pack
Základy frameworku Symfony pro PHP

Pravděpodobně se nás to zeptá, zda budeme chtít instalovat tzv. recipes. Odešleme znak y jako ano a soubor .htaccess se objeví ve složce public/.

Výsledek

Ať už jste se rozhodli pro kteroukoliv metodu, nyní se již dostáváme k dnešnímu výsledku. Po zadání příslušné URL adresy do webového prohlížeče by se vám mělo zobrazit podobné okno, jako vidíte níže na obrázku. Pro vestavěný server bude URL http://127.0.0.1:8000/:

Základy frameworku Symfony pro PHP

Pro Apache například http://localhost/hello-world/ (záleží, do jaké složky jste si projekt přesně dali):

Základy frameworku Symfony pro PHP

Barva pozadí nebo verze se může lišit a nemá to vliv na náš projekt.

Pokud toto okno vidíte, potom jste vše udělali správně a jste tím pádem na dobré cestě k naučení se Symfony a k další lekci, kde budeme už i něco programovat.

Pokud se vám tato stránka z nějakého důvodu nezobrazuje, doporučuji znovu poctivě projít návod nebo třeba zkusit jiný způsob instalace či spuštění. A když již opravdu nebudete vědět kudy kam, můžete mi vždy napsat do komentářů pod článek ;)

Příště, v lekci První aplikace v Symfony, se můžete těšit na první aplikaci v Symfony. Bude se jednat o jednoduchou kalkulačku :)


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 156x (14.55 MB)
Aplikace je včetně zdrojových kódů v jazyce PHP

 

Předchozí článek
Úvod do Symfony frameworku pro PHP
Všechny články v sekci
Základy frameworku Symfony pro PHP
Přeskočit článek
(nedoporučujeme)
První aplikace v Symfony
Článek pro vás napsal Jindřich Máca
Avatar
Uživatelské hodnocení:
60 hlasů
Autor se věnuje převážně webovým technologiím, ale má velkou zálibu ve všem vědeckém, nejen ze světa IT. :-)
Aktivity