По книге Symfony: The Fast Track
- PHP 8.3
- PostgreSQL (alpine)
- Nginx (alpine)
- Docker
- XDebug, APCu
- Установите docker and docker-compose
- Настроить файл .env
- Настроить ключ Akismet (как получить ключ описано в Подключение антиспама Akismet)
- Запустить
make init
make init
- поднять проектmake test
- запустить тестыmake up
- поднять проектmake down
- остановить проектmake restart
- перезапустить проектmake clear
- очистить кеш
- Для генерации пароля запустите
make admin-password
и введите желаемый пароль - Утиллита Symfony Password Hash сгенерирует password hash
вида
$2y$13$7JuJcu4Aywq9pY4aPmr3t.nRA/cSLQSxPoA3YZoIz0GcsMhZkIoqu
- Для добавляения администратора, используйте следующий SQL-запрос (заменив на свой сгенерированный password hash):
docker-compose exec php symfony console dbal:run-sql "INSERT INTO admin (id, username, roles, password) \ VALUES (nextval('admin_id_seq'), 'admin', '[\"ROLE_ADMIN\"]', \ '\$2y\$13\$7JuJcu4Aywq9pY4aPmr3t.nRA/cSLQSxPoA3YZoIz0GcsMhZkIoqu')"
- Обратите внимание на экранирование знака
$
в поле password; экранируйте их все!
Подключение антиспама Akismet
- Зарегистрируйте бесплатный аккаунт на akismet.com и получите ключ Akismet API
- Сохраните ключ Akismet API в хранилище конфиденциальных данных Symfony запустив команду
docker-compose exec php symfony console secrets:set AKISMET_KEY
, где AKISMET_KEY - имя ключа, значение ключа запросит команда
- Для тестирвоания отправки и получения почты, используется сервис mailer, запускается через docker-compose
- По-умолчанию адрес http://localhost:8025
- Зарегистрируйте нового бота через https://t.me/BotFather, получите Telegram TOKEN
- Добавьте бота в группу/чат
- Получите CHAT_ID, используя запрос
https://api.telegram.org/bot<TOKEN>/getUpdates
- Настройте
TELEGRAM_DSN=telegram://TOKEN@default?channel=CHAT_ID
- Сохраните ключ TELEGRAM_DSN в хранилище конфиденциальных данных Symfony запустив команду
docker-compose exec php symfony console secrets:set TELEGRAM_DSN