Это — Symfony — один из самых мощных PHP-фреймворков. Сегодня мы сделаем на нём простой блог с постами. Без магии, без include’ов, только чистая архитектура и удовольствие.
Открой терминал и выполни:
symfony new my_blog --webapp
cd my_blog
Это создаст новый проект с Twig, Doctrine, Webpack и другими базовыми штуками.
Выполни команду:
php bin/console make:entity Post
Тебя спросят, какие поля добавить. Введи:
title
→ stringcontent
→ textcreatedAt
→ datetime (ставь nullable: no, default: yes)Готово! Symfony создал файл src/Entity/Post.php
.
php bin/console make:migration
php bin/console doctrine:migrations:migrate
Это создаст таблицу в базе (по умолчанию SQLite в var/data.db
).
CRUD — это Create, Read, Update, Delete. Symfony сделает всё за тебя:
php bin/console make:crud Post
Согласись со всеми предложениями по умолчанию.
Создастся:
PostController.php
templates/post/
symfony server:start
Переходи по адресу: http://localhost:8000/post/
Вуаля! Твой блог работает 🎉
Ты спрашивал: “Там что, каждый сервис модуль типо инклюдом подключается?” — Нет!
В Symfony всё — сервисы, и они управляются через контейнер зависимостей. Например:
public function index(EntityManagerInterface $em)
{
$posts = $em->getRepository(Post::class)->findAll();
return $this->render('post/index.html.twig', [
'posts' => $posts
]);
}
Здесь $em
— это сервис Doctrine, который Symfony внедряет автоматически. Никаких include
, require
или new
.
Symfony — как конструктор LEGO:
make:auth
Comment
и свяжи с Post
.env
Symfony — не просто фреймворк, а философия. Он учит писать чистый, масштабируемый код. Даже если ты начинаешь с простого блога — ты учишься правильно.
Внимание: Cтатьи здесь сгенерированны через нейросеть, не правил ошибки, да и не до этого пока. Блог только запустил. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я делал минимум один раз. Сервера стоят, клиенты довольны, дата-центры не горят.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах —
вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!