Тема
Рабочая среда и секреты
Одна и та же команда может быть безопасной в учебном проекте и опасной в боевой среде. Перед запуском всегда выясняйте: где я нахожусь, какие данные подключены и что изменит команда.
Как узнать корень проекта
Обычно в корне Laravel-проекта находятся:
text
artisan
composer.json
app/
config/
routes/
tests/Команды php artisan ... и composer ... нужно выполнять тем способом, который указан в README проекта. Если проект использует Docker, запускать их может требоваться внутри контейнера.
Три важных программы
| Название | Что делает | Безопасная первая команда |
|---|---|---|
| PHP | Выполняет код приложения | php --version |
| Composer | Управляет PHP-пакетами | composer --version |
| Artisan | Выполняет команды конкретного Laravel-проекта | php artisan --version |
Проверка версии обычно ничего не меняет. Установка пакета, миграция или очистка кэша уже меняют состояние и требуют понимания среды.
Что находится в .env
Файл .env задаёт локальные параметры:
- режим приложения;
- адрес и имя базы;
- почтовый сервер;
- ключ приложения;
- токены внешних сервисов.
Не публикуйте .env, не вставляйте его содержимое в промпт и не сохраняйте в Git. Для документации используют безопасный .env.example без настоящих секретов.
Локальная, тестовая и боевая среды
| Среда | Для чего | Какие данные |
|---|---|---|
| Локальная | Разработка на своём компьютере | Учебные или локальные |
| Тестовая | Автоматические проверки | Отдельные временные |
| Боевая | Настоящие пользователи | Реальные и ценные |
Автоматический тест не должен подключаться к боевой базе. Команды migrate:fresh, db:wipe, DROP и TRUNCATE удаляют данные и недопустимы на настоящей базе без отдельной процедуры и подтверждения.
Правило для Codex
Разрешайте чтение только нужных файлов. Не просите «покажи весь .env». Вместо этого можно спросить: «Проверь, перечислены ли нужные имена переменных, не выводя их значения».
Попробуйте сейчас
Найдите README учебного проекта и выпишите штатный способ запуска команд. Затем проверьте, что .env упомянут в .gitignore, не открывая его содержимое.
Урок пройден, если
Вы можете назвать текущую среду, корень проекта и объяснить, почему .env нельзя отправлять помощнику целиком.
Куда дальше
Откройте первый проект и проверьте Git.