2. díl - Symfony Standard Edition a IDE

PHP Symfony Základy Symfony Standard Edition 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ítejte u druhého dílu online kurzu o tvorbě webových aplikací v PHP frameworku Symfony. V dnešním tutoriálu se podíváme na instalaci Symfony Standard Edition, který nám poslouží jako základ naší aplikace. Tuto instalaci poté provedeme v rámci IDE NetBeans 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 stáhnout / nainstalovat / rozbalit správný software. Budu předpokládat, že máte nainstalovaný a zprovozněný webový server Apache + PHP + MySQL. Pokud ne, tak pro začátečníky doporučuji XAMPP.

Dále, pro ty, co jsou zvyklí psát v 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í. Já zde pro demonstraci instalace použiji právě NetBeans, které má dokonce zabudované prostředky přímo pro instalaci Symfony a nemusíte ho tedy instalovat úplně ručně.

Pokud toto všechno máte, tak budeme samozřejmě potřebovat samotný Symfony framework. Ten se obvykle nestahuje přímo, i když to také lze, ale instaluje se přes tzv. Symfony Instalátor (Symfony Installer). Symfony Instalátor se pak uplatňuje standardně jako systémový příkaz symfony, který využívá právě i již zmíněné NetBeans. Výhodou je, že ho stačí nastavit jen jednou a můžete ho používat pro všechny projekty v Symfony.

To se podle oficiální dokumentace dělá v příkazovém řádku/terminálu následovně:

# Pro Windows
php -r "readfile('https://symfony.com/installer');" > symfony

# Pro Linux a MacOS
sudo mkdir -p /usr/local/bin
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony

Upozornění: Pokud chcete ve Windows používat tento příkaz globálně, musíte ho ještě přidat do systémové proměnné PATH.

NetBeans

Pokud jste se rozhodli pracovat v NetBeans, tak je potřeba (není to nutné, ale pro další práci je to lepší) udělat pár nastavení.

V hlavním okně NetBeans kliknete na Tools -> Options a v nově zobrazeném okně kliknete na PHP a vyberete v bočním menu položku Symfony 2/3. Zde je možné zadat 2 nezávislé věci podle kterých umí NetBeans založit nový projekt v Symfony. První z nich je právě absolutní cesta k umístění příkazu symfony a druhou je také absolutní cesta, ale k *.zip archivu tzv. Symfony Sandbox, pokud bychom nechtěli používat onen příkaz.

Nastavení NetBeans pro Symfony

Pozn.: Cestu k danému příkazu si můžete dokonce nechat od IDE automaticky vyhledat. ;)

Vytvoření nového projektu

Teď už máme snad vše nastaveno a zbývá jen vytvoření samotného projektu. To provedeme obdobně jako v každém jiném IDE - File -> New project.

V nově otevřeném okně se zobrazí průvodce. Vybereme kategorii PHP a jako projekt zvolíme PHP Application.

Vytvoření PHP Symfony projektu

V dalším kroku vyplníme název projektu (např. "Hello World", ale na názvu nám teď až tak nezáleží) a místo, kam se má uložit. S největší pravděpodobností někam, kde má přístup i náš webový server (Apache).

Název Symfony projektu a umístění

V dalším, třetím kroku, není potřeba nic měnit a v posledním, tedy čtvrtém kroku, vyberete požadovaný framework - v našem případě Symfony 2/3 PHP Web Framework a klikneme na tlačítko Finish.

Dokončení průvodce

Tímto jsem vytvořili první projekt postavený na Symfony. Výsledek naší práce by měl vypadat asi nějak takto:

Nainstalovaný Symfony projekt

Pozn.: Instalace může trvat delší dobu.

Kontrola požadavků

Ještě před spuštěním naší aplikace je vhodné ověřit, zda nastavení Apache a PHP splňuje podmínky pro správný běh Symfony frameworku. Ve vytvořeném projektu s frameworkem ve složce bin/ se k tomuto účelu nachází PHP skript symfony_requi­rements. Stačí ho tedy spustit (příkazem php bin/symfony_requirements) a zkontrolovat výsledek, který by měl vypadat přibližně nějak takto:

Symfony Requirements Checker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

> PHP is using the following php.ini file:
  /etc/php.ini

> Checking Symfony requirements:
  ...................................W......


 [OK]
 Your system is ready to run Symfony projects


Optional recommendations to improve your setup
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 * a PHP accelerator should be installed
   > Install and/or enable a PHP accelerator (highly recommended).


Note  The command console could use a different php.ini file
~~~~  than the one used with your web server. To be on the
      safe side, please check the requirements from your web
      server using the web/config.php script.

Směrování

Ještě před spuštěním (otestováním) projektu je dobré vytvořit jeden .htaccess soubor. Adresářová struktura projektu je totiž stavěná tak, že jeho zobrazení probíhá až po vstupu do složky web/. Výsledná adresa by pak vypadala http://localhost/…o-world/web/ s tím, že musíme kliknout po načtení http://localhost/hello-world/ ještě na adresář web/.

Elegantní cesta, jak se tomuto vyhnout, je nechat vše jak je a vytvořit v kořeni projektu příslušný soubor .htaccess. Pomocí něj se automaticky "přesuneme" do složky web/ a ta pak bude brána jako kořenová složka a URL adresa bude tedy pouze http://localhost/hello-world/.

Soubor přidáme jednoduše kliknutím pravým tlačítkem na Source Files v okně NetBeans a výběrem New -> Other... ze zobrazené kontextové nabídky. V otevřeném okně zvolíme kategorii Other a v pravém sloupci vybereme Empty File. Klikneme na tlačítko Next, jako název souboru vyplníme .htaccess a klikneme na Finish.

Do vytvořeného souboru vložíme následující kód:

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

Tím se již dostáváme k dnešnímu výsledku, kdy by se vám po zadání příslušné URL adresy (http://localhost/hello-world/) mělo zobrazit podobné okno, jako vidíte níže. Potom jste vše udělali správně a jsme tím pádem na dobré cestě k naučení se Symfony a k dalšímu dílu, kde budeme už i něco programovat.

Zprovozněný Symfony framework

Příště začneme vytvářet svou první aplikaci v Symfony a já prozradím, že se bude jednat o jednoduchou kalkulačku, takže se máte na co těšit. ;)


 

  Aktivity (2)

Článek pro vás napsal Jindřich Máca
Avatar
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. :-)

Jak se ti líbí článek?
Celkem (5 hlasů) :
4.84.84.84.84.8


 


Miniatura
Všechny články v sekci
Základy frameworku Symfony pro PHP
Miniatura
Následující článek
První aplikace v Symfony

 

 

Komentáře

Avatar
radoslavius
Člen
Avatar
radoslavius:

Jako IDE rozhodne doporucuju PhpStorm. S doplnkem pro symfony nema konkurenci: https://confluence.jetbrains.com/…ing+PhpStorm

 
Odpovědět 15. března 9:00
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na radoslavius
Matúš Petrofčík:

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. března 12:22
obsah kocky = r^2 ... a preto vlak drnká
Avatar
radoslavius
Člen
Avatar
Odpovídá na Matúš Petrofčík
radoslavius:

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. března 12:45
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na radoslavius
Jindřich Máca:

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  +1 15. března 17:19
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 4 zpráv z 4.