Chci geek triko! Chci geek triko!
Extra 10 % bodů navíc a tričko zdarma při zadání kódu "TRIKO10"

Lekce 2 - Instalace Symfony a IDE

PHP Symfony Základy Instalace Symfony a IDE

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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 jeho instalaci 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 aktuální Symfony, tedy verzi 4.1.x, budete potřebovat PHP 7.1 a vyšší!

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

Pokud se ptáte, proč nepoužiji např. populární NetBeans, tak v době psaní kurzu ještě nemají kompletní podporu verze PHP 7.1+, která je ale pro nejnovějšího Symfony vyžadována.

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

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.

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

V rámci instalované šablony website-skeleton je v projektu k dispozici i webový server vestavěný v Symfony, který spustíme ve složce projektu příkazem:

php bin/console server:run

Můžeme si tedy vybrat, který server budeme používat.

V PhpStorm lze pro obojí 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

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/ a pro Apache http://localhost/hello-world/

Zprovozněný Symfony framework

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, začneme vytvářet svou první aplikaci v Symfony. Já prozradím, že se bude jednat o jednoduchou kalkulačku, takže se máte na co těšit! :)


 

Stáhnout

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

 

 

Článek pro vás napsal Jindřich Máca
Avatar
Jak se ti líbí článek?
6 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. :-)
Miniatura
Všechny články v sekci
Základy frameworku Symfony pro PHP
Miniatura
Následující článek
První aplikace v Symfony
Aktivity (9)

 

 

Komentáře
Zobrazit starší komentáře (1)

Avatar
Matúš Petrofčík:15.3.2017 12:22

Samozrejme, ale v tutoriálu nemôže radiť začínajúcim Symfonystom platené IDE. Myslím že na vzdelávacie účely NetBeans stačí.

Odpovědět  ±0 15.3.2017 12:22
obsah kocky = r^2 ... a preto vlak drnká
Avatar
radoslavius
Člen
Avatar
Odpovídá na Matúš Petrofčík
radoslavius:15.3.2017 12:45

To je pravda, ale vzhledem k naseptavani to velmi urychluje a zjednodusuje praci. Clovek si nemusi vsechno pamatovat. Presel jsem prave z netbeans na phpstorm a nemuzu si to vynachvalit. Pro zacinajici uzivatele neni problem vyzkouset verzi EAP - https://confluence.jetbrains.com/…cess+Program, kterou jsem pouzival nejakou dobu, nez jsem phpstorm poridil.

 
Odpovědět 15.3.2017 12:45
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Jindřich Máca:15.3.2017 17:19

Já osobně používám PhpStorm a mám v plánu v něm vyvíjet i tenhle seriál, dokonce mám i koupenou licenci, ale jak píše Matúš Petrofčík, prostě zde nemůžeme radit používat placené IDE a to i přes to, že samozřejmě existuje nějaká možnost, jak ho používat zadarmo. Mimochodem, abych mohl napsat tenhle díl, musel jsem si NetBeans nově nainstalovat. :D

 
Odpovědět  +3 15.3.2017 17:19
Avatar
MArtin
Člen
Avatar
MArtin:22.5.2017 13:13

Celkom dobra konkurencia je IntelliJ IDEA s tym istym pluginom ;)

 
Odpovědět 22.5.2017 13:13
Avatar
MArtin
Člen
Avatar
MArtin:22.5.2017 13:15

Inac zatial najlepsi AMP s ktorym som pracoval je UwAmp

 
Odpovědět 22.5.2017 13:15
Avatar
MArtin
Člen
Avatar
MArtin:22.5.2017 13:26

Nezaskodilo by taktiez spomenut instalaciu symfony pomocou Composera: http://symfony.com/…t/setup.html#…

 
Odpovědět 22.5.2017 13:26
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na MArtin
Jindřich Máca:22.5.2017 13:27

To se řeší hned v dalším díle. ;)

 
Odpovědět  +1 22.5.2017 13:27
Avatar
Tomáš Jelínek:25.6.2017 17:17

Ahoj, nefunguje mi přesměrování v .htaccess. Zkoušel jsem i na tvém zdrojáku. Když zadám localhost/muj_pro­jekt, hodí mi to 404. Tudíž musím zadávat pořád s /web. Používám zend server. Je možné, že je to tím?

Odpovědět 25.6.2017 17:17
Lenost je matka pokroku.
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Tomáš Jelínek
Jindřich Máca:25.6.2017 20:54

Problém bude pravděpodobné právě v použití Zend serveru a bude potřeba upravit jeho konfiguraci tak, aby povolovala použití .htaccess souboru. ;)

 
Odpovědět 25.6.2017 20:54
Avatar
Martin Kejzlar:2. srpna 12:38

Taky nějak zápasím s tím htaccess. Pokužáívám server Laragon. Mám tam i Nette projekty a tam htaccess normálně funguje. U tohodle musím do projektu přímo do složky public. Když vlezu do rootu projektu, hodí mi to Symfony "laděnku" s chybou No route found for "GET /hello-world/"

 
Odpovědět 2. srpna 12:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 11. Zobrazit vše