Symfony je výkonný a flexibilný PHP framework, ale aby fungoval efektívne, je potrebné ho správne nakonfigurovať. V tomto článku si krok za krokom vysvetlíme, ako nastaviť Symfony projekt, databázové pripojenie, prostredia (env), cache a bezpečnostné opatrenia.
Konfigurácia Symfony je proces nastavenia aplikácie tak, aby správne fungovala v rôznych prostrediach (vývoj, testovanie, produkcia). Týka sa súborov prostredia, databázového pripojenia, správy balíčkov a bezpečnosti.
Symfony používa systém .env
súborov na správu konfigurácie pre rôzne prostredia. Po vytvorení projektu by ste mali vidieť súbor .env
, ktorý obsahuje základné nastavenia.
APP_ENV=dev APP_SECRET=your_secret_key DATABASE_URL="mysql://user:password@127.0.0.1:3306/databaza"
Tu môžete definovať:
APP_ENV
– určuje, či aplikácia beží v dev (vývoj), test alebo prod (produkcia).APP_SECRET
– tajný kľúč na hashovanie údajov.DATABASE_URL
– pripojenie k databáze.Symfony používa Doctrine ako ORM pre správu databáz. Ak chcete nastaviť MySQL
databázu, upravte súbor .env
nasledovne:
DATABASE_URL="mysql://root:password@127.0.0.1:3306/mojadb"
php bin/console doctrine:database:create php bin/console doctrine:migrations:migrate
Ak je všetko správne nastavené, vaša databáza bude vytvorená a pripravená na použitie.
Symfony ponúka silný SecurityBundle
, ktorý umožňuje nastaviť autentifikáciu a autorizáciu.
config/packages/security.yaml
:security: encoders: Symfony\Component\Security\Core\User\User: bcrypt providers: in_memory: memory: users: admin: password: '%env(ADMIN_PASSWORD)%' roles: ['ROLE_ADMIN'] firewalls: main: anonymous: true form_login: login_path: login check_path: login logout: path: logout
Tu nastavujeme:
Cache výrazne zlepšuje výkon Symfony aplikácií. Môžete ju vyčistiť pomocou:
php bin/console cache:clear
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=4000
Symfony obsahuje profiler, ktorý pomáha s ladením aplikácie.
APP_ENV=dev
Počas vývoja môžete použiť Web Profiler
, ktorý sa zobrazí v dolnej časti prehliadača.
Zmeňte APP_ENV=prod
v súbore .env
a vyčistite cache:
php bin/console cache:clear --env=prod
Skontrolujte hodnotu DATABASE_URL
v .env
a použite príkaz:
php bin/console doctrine:migrations:migrate
Použite password_hash()
alebo Symfony security komponent.
Ak máte záujem o prezenčné alebo online školenie programovania v PHP, pozrite si našu ponuku na www.like-it.sk. Naše kurzy vedú skúsení odborníci, ktorí vám pomôžu zvládnuť Symfony od základov až po pokročilé koncepty.