Питання на співбесіді: Конфігурація
Найпопулярніші питання з реальних Laravel/PHP співбесід для всіх рівнів
Всі теми
API
Artisan
Authentication
Authorization
Blade
Broadcasting
Caching
Collections
Database
Debugging
DevOps
Eloquent
Enums
Events
Filament
Files
HTTP та Request
Livewire
Mail
Middleware
MVC та архітектура
Notifications
Pagination
Performance
PHP
Queues
Routing
Scheduling
Search
Seeder
Service Container
Service Providers
Testing
Архітектура
Безпека
Валідація
Конфігурація
Локалізація
Масштабування
Міграції
Сесії
1 питання
Файл .env лежить у корені проєкту й зберігає налаштування, специфічні для середовища, та секрети: доступи до БД, API-ключі, APP_KEY, режим APP_ENV. Ідея в тому, що той самий код працює в різних середовищах (локально, staging, продакшен) лише завдяки різним .env.
APP_ENV=local
APP_DEBUG=true
DB_CONNECTION=mysql
DB_PASSWORD=secret
STRIPE_KEY=sk_test_...
Ключові правила:
.envне комітиться в git (він у.gitignore) - кожен розробник і сервер має власний. Натомість комітять.env.exampleяк шаблон без секретів.- Значення зчитуються хелпером
env('KEY', 'default'), але викликатиenv()слід лише у файлахconfig/. - У застосунку звертайтесь через
config('services.stripe.key'), а неenv(...)напряму: післяphp artisan config:cache(оптимізація на проді) викликиenv()поза конфігом повертаютьnull.
Навіщо: секрети не потрапляють у код/репозиторій, а конфігурацію легко змінювати під середовище без редагування коду.