Как стать автором
Обновить

Pro PHP 8 MVC: Model View Controller Architecture-Driven Application Development — обзор книги и рекомендации

Время на прочтение3 мин
Количество просмотров3.6K

В начале лета 2021 года на свет вышла книга "Pro PHP 8 MVC: Model View Controller Architecture-Driven Application Development" от Кристофера Питта. Это второе издание его книги о том, как работать с паттерном MVC в рамках PHP. 

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

пока только на английском
пока только на английском

Об авторе и техническом ревьювере

Хотя я до этого не сталкивался с работами Кристофера Питта (Christopher Pitt) в рамках его деятельности для PHP-комьюнити, тем не менее, проведя ресерч, я обнаружил, что он в свое время писал достаточно интересные статьи про PHP, некоторые из которых попадали на Хабр в виде переводов и заслуживали достойного внимания. Будем считать, что парень ровный. 

Куда больше в этой книге меня заинтересовал технический ревьювер - Маттиас Нобак (Matthias Noback) - личность абсолютно легендарная в рамках современного php-комьюнити. Если вы работаете в корпоративном сегменте и пишите сложные системы на PHP, то с большой вероятностью вы делаете это на Symfony, а значит вы точно читали или хотя бы слышали об его книге "Один год с Symfony". А его статьи на его персональном сайте хоть и говорят об идеальном мире с идеальным PHP, который никогда не настанет, но все равно весьма поучительны.

Кратко о сути книги

Я бы шуточно назвал эту книгу так: "Как заплатить 39 долларов за то, чтобы Кристофер Питт написал плохой MVC фреймворк и выдумывал синтетические ситуации, где использовать нововведения из PHP 8.0"  

Обзор содержания книги

В этой книге очень кратко описывается MVC-паттерн и приводится пошаговая реализация полноценного веб-фреймворка на PHP 8.0.

Мы полностью с нуля строим основные компоненты фреймворка, собираем из них готовый веб-фреймворк и пушим его гитхаб: 

  • Router;

  • Обработчик форм;

  • Валидатор Форм;

  • Теймплейт Engine (4 варианта реализации на php);

  • Обвязка для PDO для работы с разными базами;

  • ORM;

  • DI;

  • Обвязка для тестирования;

  • Сборщик конфигов;

  • Управление кешем, сессиями;

  • Работа по отправке email;

  • Система логирования; 

Из интересного, автор также приводит сравнение своей реализации с реализациями в популярных решениях, в основном из Laravel и Symfony.

Это книга исключительно про то: как сделать веб-фреймворк по паттерну MVC, а не про то, почему нужно делать так или иначе, практически нет теории, которая бы описывала причины тех или иных решений.

Плюсы книги:

  • Идет объяснение новых фич из php 8.0

  • Идет хороший обзор туллинга для работы с PHP

  • Код пишется исключительно в строгой типизации

  • Читателя подводят к идее, что лучше для начала освоить популярное решение, а не городить свое 

Минусы книги: 

  • Хотя книга позиционируется для новичков, код местами написан сложно и непонятно (прямо шестеренки скрипят при его чтении)

  • Код написан странновато (большой уровень вложений, странное именование переменных и так далее)

  • Не самое удачное использование фич из PHP 8.0

  • Никакой теории, никаких объяснений зачем делать так или иначе 

Итоговое мнение

Такой формат книг достаточно популярен, когда берется какая-то концепция (в частности MVC) и дальше идет пошаговая реализаций этой концепции. В частности я читал подобные книги про MVC на примере Python и Java. И по моему мнению, данная книга является не самым лучшим представителем этого формата.  

Главным минусом для меня является полное отсутствие теории того, что же такое MVC, почему современные веб-фреймворки пришли к такому паттерну, в чем заключаются главные плюсы такого паттерна и так далее. В данной книге просто вначале идет оговорка, что MVC - это круто, а дальше сразу к реализации. У нас тут как-то не приятно верить на слово.

Вторым главным минусом для меня является странное позиционирование данной книге. Если человек уже прочитал несколько книг по PHP и поработал с каким-либо веб-фреймворком, то он уже достаточно хорошо понимает концепцию MVC и то, как это работает на примере других фреймворков - для него эта книга ничего нового не скажет. А для новичков она слишком тяжела и утомительна в плане кода и отсутствия объяснений. 

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

Плюсы в этой книге есть без всякого сомнения, но стоят ли они своих денег - это вопрос.

Интересное замечание

Все больше книг по PHP говорят исключительно про Symfony и Laravel. Уже очевидно, что рынок кастомной разработки на PHP сужается и такие фреймворки как zend и yii теряют внимание php-комьюнити.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вам нравятся книги и статьи Маттиас Нобака
25.53% Да12
10.64% Нет5
63.83% Не читал его работ30
Проголосовали 47 пользователей. Воздержались 10 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Считаете книги по php полезными
62.96% Да34
35.19% Нет19
1.85% Не работаю с php1
Проголосовали 54 пользователя. Воздержались 6 пользователей.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+1
Комментарии3

Публикации

Изменить настройки темы

Истории

Работа

PHP программист
155 вакансий

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн