Плюс+ : PHP Symfony

Учим symfony за 25 минут

Я сам не фанат всех этих уроков за 25 минут, потому что даже за час невозможно дать полноценную информацию для того, чтобы можно было закончить разговор на какой-то хорошее ноте. Можно пробежаться галопом по Европе, но смысл? 

Контроллеры в Symfony - действия и маршрутизация

В первой части мы запустили наш первый Symfony сайт и совсем поверхностно познакомились с тем, как можно создать свой первый контроллер. Контроллеры - это классы или если упростить до минимума - код, который вызывается на действия пользователей на сайте. Он должен получать данные от пользователя, получать запросы и возвращать пользователям результат. Расчеты же обычно делаются в отдельном слое - Бизнес логика, о которой мы поговорим позже. 

Twig и программирование UI в Symfony фреймворке

Прежде чем мы начнем, мне придется все же познакомить вас с третьим слоном – представлением.

PHP и Symfony - работаем с базами данных

Симфония просто обожает доктрину Doctrine, которая является объектно-реляционным проектором. Нет, это не я придумал такое выражение, это в википедии написан такой перевод для выражения Object-Relational Mapping или просто ORM. Чаще всего в интернете можно увидеть как раз сокращение ORM.

Symfony + Doctrine добавление данных

С точки зрения работы с базой данных основная заслуга лежит не на фреймворке Symfony, а на сторонней библиотеке Doctrine, с помощью которой можно получать доступ не только к реляционным базам данных MySQL или PostgreSQL, но и NoSQL базе данных MongoDB. 

Symfony и Doctrine – поиск данных

В прошлый раз мы создали метод, который добавляет в базу данных новую категорию, которую пользователь передает через URL. Но печалька в том, что если пользователь загрузит этот URL дважды, то одна и та же категория появиться в базе данных два раза. Не думаю, что на блоге имеет смысл иметь более одной категории с одним и тем же именем. 

Бизнес логика в Symfony проектах

Некоторые используют сгенерированные в папке src/Entity классы для хранения бизнес логики. Я не являюсь фанатом такого подхода, потому что это все же разные вещи. Сгенерированные классы являются проекциями к объектам базы данных и не должны содержать бизнес логики. 

Редактирование данных в Symfony и Doctrine

Мы научились добавлять данные и искать и последние две операции, которые осталось изучить, чтобы замкнуть полный круг работы с данным – это редактирование и удаление. 

Удаление данных в Symfony с использованием Doctrine

Наверно самая простая тема - удаление данных из базы в Symfony с использованием Doctrine. Мы научились добавлять категории, редактировать, и чтобы завершить цикл операций нужно еще удалить. 

Рефакторинг нашей модели

Когда мы создавали бизнес модель, то переносили код один-к-одному, что не является идеальным решением. С подобной логикой я сталкиваюсь иногда по работе и в этой работе я хотел указать на этот косяк. 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне