Symfony to potężny i elastyczny framework PHP, ale aby działał efektywnie, musi być odpowiednio skonfigurowany. W tym artykule krok po kroku wyjaśniamy, jak skonfigurować projekt Symfony, połączenie z bazą danych, środowiska (env), pamięć podręczną (cache) i zabezpieczenia.
Konfiguracja Symfony to proces ustawiania aplikacji tak, aby działała poprawnie w różnych środowiskach (deweloperskim, testowym, produkcyjnym). Dotyczy to plików środowiskowych, połączenia z bazą danych, zarządzania paczkami oraz bezpieczeństwa.
Symfony używa systemu plików .env do zarządzania konfiguracją w różnych środowiskach. Po utworzeniu projektu powinien pojawić się plik .env z podstawowymi ustawieniami.
APP_ENV=dev APP_SECRET=your_secret_key DATABASE_URL="mysql://user:password@127.0.0.1:3306/baza_danych"
Można tu ustawić:
APP_ENV – określa, czy aplikacja działa w środowisku dev, test czy prod.APP_SECRET – tajny klucz do haszowania danych.DATABASE_URL – dane do połączenia z bazą danych.Symfony używa Doctrine jako ORM do zarządzania bazami danych. Aby ustawić połączenie z MySQL, należy edytować plik .env tak jak poniżej:
DATABASE_URL="mysql://root:password@127.0.0.1:3306/mojabaza"
php bin/console doctrine:database:create php bin/console doctrine:migrations:migrate
Jeśli wszystko jest poprawnie skonfigurowane, baza danych zostanie utworzona i gotowa do użycia.
Symfony oferuje potężny SecurityBundle, który pozwala ustawić uwierzytelnianie i autoryzację.
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
Ustawienia obejmują:
Pamięć podręczna (cache) znacząco zwiększa wydajność aplikacji Symfony. Można ją wyczyścić za pomocą:
php bin/console cache:clear
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=4000
Symfony zawiera profiler, który pomaga diagnozować i debugować aplikację.
APP_ENV=dev
Podczas tworzenia aplikacji, możesz korzystać z Web Profiler, który wyświetla się na dole strony w przeglądarce.
W pliku .env zmień na APP_ENV=prod i wyczyść cache:
php bin/console cache:clear --env=prod
Sprawdź wartość DATABASE_URL w pliku .env i użyj polecenia:
php bin/console doctrine:migrations:migrate
Użyj password_hash() lub komponentu security Symfony.
Jeśli interesują Cię szkolenia stacjonarne lub online z programowania w PHP, sprawdź naszą ofertę na www.like-it.sk. Nasze kursy prowadzone są przez doświadczonych specjalistów, którzy pomogą Ci opanować Symfony – od podstaw po zaawansowane koncepcje.
Marián Knězek