Praktický návod

Jak založit nový Symfony projekt pro reálnou produkční aplikaci

Nezačínej jen prázdnou složkou. Hned na začátku si nastav zdravé základy pro lokální vývoj, testy i nasazení.

20 minut · Symfony

Nejdřív stručně

Co znamená „produkční základ“?

Symfony je framework pro PHP aplikace. Dává ti hotovou kostru, konzoli, konfiguraci a rozumné výchozí postupy.

Composer hlídá balíčky i jejich přesné verze. Produkční základ není složitý: kód jde do Gitu, tajné údaje mimo repozitář a každé prostředí má vlastní konfiguraci.

Připrav si

Co budeš potřebovat

Na první průchod nepotřebuješ cloud ani hotovou databázi. Stačí čisté lokální prostředí.

  • PHP v podporované verzi a rozšíření, která vyžaduje Symfony.
  • Composer nainstalovaný v terminálu.
  • Git a prázdný repozitář pro nový projekt.
  • Rozhodnutí, zda stavíš klasický web, nebo API. Pro web přidáš balíček webapp; pro malé API začni jen skeletonem.

Kroky 1 až 3

Založ projekt a nastav prostředí

Dělej malé, ověřitelné kroky. Po každém z nich víš, co přesně funguje.

1. Vytvoř čistý Symfony projekt

  1. Zvol si krátký název složky bez mezer. Příkaz vytvoří projekt, stáhne závislosti a připraví základní strukturu.
  2. Pro běžnou webovou aplikaci pak přidej webapp. Přinese formuláře, bezpečnostní komponenty a další časté základy.
  3. Verzi frameworku vybírej záměrně. Pro dlouho žijící aplikaci obvykle dává smysl aktuální LTS, ne náhodně nalezený příkaz z internetu.
composer create-project symfony/skeleton moje-aplikace
Oficiální Symfony návod pro založení projektu

2. Odděl nastavení od kódu

  1. Otevři .env, ale tajná hesla do něj pro produkci nepiš. Ber ho jako seznam očekávaných proměnných a bezpečných výchozích hodnot.
  2. Na svém počítači použij .env.local. Ten necommituj. Na serveru nastav proměnné prostředí přímo v hostingu, kontejneru nebo správci tajemství.
  3. Databázové připojení, API klíče a adresy služeb čti z proměnných prostředí. Jeden kód pak může běžet lokálně, na testu i v produkci.
composer require webapp
Oficiální Symfony dokumentace ke konfiguraci a .env

3. Přidej první produkční pojistky

  1. Commitni composer.lock. Právě ten zajišťuje, že server nainstaluje stejné ověřené verze balíčků jako ty.
  2. Do nasazení si dej composer install bez vývojových balíčků, optimalizovaný autoloader a zahřátí cache.
  3. APP_DEBUG v produkci vždy vypni. Chybová stránka pak neukáže návštěvníkovi cestu k souborům, konfiguraci ani výpis výjimky.
APP_ENV=prod APP_DEBUG=0 php bin/console cache:warmup
Oficiální úvod do Composeru

Krok 4

Ověř, že základ opravdu drží

Tyto tři krátké kontroly odhalí většinu chyb hned na začátku.

  1. Zjisti stav projektu

    Symfony vypíše verzi, aktivní prostředí a nainstalované balíčky. Příkaz spusť z kořene projektu.

    php bin/console about
  2. Zkontroluj Composer soubory

    Než kód pošleš dál, ověř formát composer.json i shodu se zámkem závislostí.

    composer validate --strict
  3. Vyzkoušej produkční cache

    Tohle neběží místo nasazení, ale rychle ukáže chybu v produkční konfiguraci nebo v chybějící proměnné.

    APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear

Když to zlobí

Nejčastější chyby

Příkaz hlásí nepodporovanou verzi PHP

Porovnej svou verzi přes php -v s požadavky vybrané verze Symfony. Neměň náhodně composer.json; nejdřív oprav PHP v lokálním prostředí nebo zvol podporovanou verzi frameworku.

php -v
Do Gitu se dostalo heslo nebo API klíč

Klíč hned zneplatni a vytvoř nový. Samotné smazání řádku nestačí, protože tajemství zůstává v historii. Potom přesuň hodnotu do proměnné prostředí a .env.local ignoruj.

Lokálně to funguje, v produkci ne

Porovnej seznam proměnných, oprávnění k var/cache a APP_ENV. Produkce nemá kopírovat celý .env.local z počítače vývojáře.

php bin/console debug:container --env-vars
Každý vývojář má jiné balíčky

Zkontroluj, že je composer.lock verzovaný, a instaluj závislosti příkazem composer install. Příkaz composer update používej vědomě při plánované aktualizaci.

git status --short

Hotovo

Projekt má základ, na kterém se dá stavět.

Symfony projekt teď má jasně oddělenou konfiguraci a první produkční kontroly. Dál přidávej funkce po malých celcích a průběžně je ověřuj.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.