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

Комментарии 15

 Сегодня считается, что приложения на php стали монструозны, долго и сложно запускаемы

Ну неправда) PHP от 5 версии проделал долгий путь, получил значительную оптимизацию скорости и кучу классных фичей в добавок. Ну и естественно проекты, живущие давно, будут монструозны - не важно, PHP это, Java, Go или еще что

— Сегодня считается, что приложения на php…
— Ну неправда) PHP от 5 версии проделал долгий путь...

В первую очередь хотел бы поблагодарить за статью.

Не могу не отметить, что простое !== примитивное. Критерии простоты могут различаться. Для меня это прежде всего время, которое я потрачу на то, чтобы выполнить задачу. В данном случае API platform или иные подобные решения (Laravel Orion) выглядят более подходящими.

Например, создание CRUD контроллера в той же API platform занимает менее 10 минут. В довесок из коробки мы получаем: несколько возможных форматов ответа (в т.ч. graphQL); полностью контролируемый и единый формат ответа как в общем (пагинатор, ссылки на другие элементы и т.д.), так и для отдельно взятой сущности; автоматически формируемое описание в swagger; поддержку CORS; поддержку elasticsearch; поддержку JWT; систему ролей для контроля доступа и многое-многое другое. При более тщательной настройке (кэш, кастомные сериализаторы и т.д.) это еще и работает быстрее.

А не в виде json в slim данные из бд феньшуй не позволяет?

Позволяет

Не хотелось бы проявлять токсичность, но в чем смысл статьи? Как вы оцениваете ее техническую ценность? Всё это только более наглядно и подробно есть в документации к любому фреймворку, в частности Slim. Пруф

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


Наоборот надо больше таких статей — о примитивных вещах, но сделанных по-человечески, а не по-похапешному. Чтобы просто нарабатывался корпус нормальных материалов по языку.

Любой популярный микрофреймворк - легко и быстро.

Не хочу начинать холивар, но правда интересно - почему обязательно нужно использовать фреймворки? Я писал на РНР примерно до 13-14 года, безо всяких фреймворков, даже иной раз сугубо в процедурном стиле. Мне было нормально. Почему сейчас иначе? Все настолько усложнилось или ввели какие-то новые протоколы или что? За вебом особо не слежу.

Нет, протоколов новых не завезли, всё старое.
Просто пэхапешники никогда не обращали на них внимание, и делали всё тяп-ляп на коленке.
А фремворк как раз за тебя протоколы и соблюдает. Корректные НТТР заголовки, правильная обработка ошибок, безопасные SQL запросы, ЧПУ роутинг и еще примерно овердофига базовых требований к нормальному коду.

На то несколько причин, хотя я люблю иногда пописать на чистом php, но все же:
— как писал в статье, такое сделать с нуля займет гораздо больше времени, если только нет заготовки… а заготовка — это уже фреймворк, хоть и самописный.
— зачем писать с нуля что-то написаное до тебя и сделанное довольно не плохо? Чаще всего этого не нужно
— ну и третий пункт про то, что сам скорее всего напишешь абы как и с багами отлично описал FatatPHP, за что большое спасибо

Все будет сильно намного проще если с PHP использовать FatFreeFramework, там отличный роутер, работа с базой данных.

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

А потом новичок приходит на реальный проект и пытается понять почему в инструкции было всё понятно, а в реальности ехал солид через солид.

В примере выше ни авторизации нет, ни ролевой модели. Просто берём что-то из базы и выплёвываем как есть. Реально крайне редкий кейс, вы не находите?

Ну я бы не сказал что аутентификация с авторизацией как-то сильно усложнят этот код. просто добавляется нужная мидлварь, а код остаётся практически неизменным.

Другое дело что "ехал солид через солид" - это действительно проблема, но она уже перпендикулярна фреймфоркам, поскольку относится исключительно к модели АКА бизнес-логике. И чтобы её решить, одного фреймворка уже недостаточно, надо учить программирование.

То есть фреймворк не будет за тебя программировать модель, это верно. Но если ты уже умеешь её программировать, (или она совсем примитивная), то с каркасом, на который её навесить, получится быстрее.

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