PHP: неправильный путь (статья)

Наткнулся только что на хабре на любопытный перевод одной статьи, которая называется «PHP: неправильный путь» — habrahabr.ru/...mpany/mailru/blog/308788

...Эта статья написана, чтобы поделиться прагматичным взглядом на PHP-программирование. Взглядом, продиктованным опытом и практическими последствиями, а не популярными тенденциями, теориями или академическими догмами...

Оригинал — www.phpthewrongway.com

Интересно мнение ДОУчан по поводу этой статейки)

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

а я думал на доу моветон ссылаться, а то и обсуждать статьи с хабра

причем, уверен, если начать обсуждать статьи с хабра — то доу быстро превратится в его филиал и потеряет свою специфику — разговоры, мнения украинской айти тусовки об жизни в айти и около. а не о технологиях
(сам то по RSS подписан, читаю на русском быстрее чем английском, по диагонали не научился еще :(
да и актуальность ближе, чем обсуждения на HN. переводной научпоп на хабре так же вполне хорош)
и это, как по мне плохо. есть хабр, его и так хватит. зачем его филиал?

Берегите ДОУ!

что же до статьи, то чтобы разобраться что там так и не так, нужно помнить
PHP самый народный из мейнстримовых ЯП
Следствием этого является что на нем, профессионально, то есть за деньги, может писать как полный неуч, который ни на чем другом писать не сможет с его уровнем знания, так и за последние годы — вполне джавист, потому что в него понатащили с джавы уже больше чем в ней самой есть
(вживую, обсуждали это с одним из кор разработчиков Magento
— Да, да, совершенно верно, — радостно согласился он — мы так и в команду берем, только с джавовским опытом. потому что джависта научить синтаксису php — легко, а пхписта писать в джава парадигме — трудно)

Вторым следствием является собственно суть статьи
сторонники т.н. самописов вполне правы (потому что уверенно зарабатывают — деньги), они делают без фреймворков и всяких там ООП ну очень быстро. что для малого, я бы акцентировал, микробизнеса, крайне критично. Общее ж правило — чем больше компания, тем горизонт планирования у нее дальше. а «Ларьку за углом» страничка о скидке на пиво нужна сегодня же! потому что завтра уже будет продваться это пиво, а послезавтра его придется вылить, «кеги уже и так протекают, от избыточного давления».

соотственно, правы и те и другие
какой у тебя домен — так и поступай с выбором
писать на пыхе по старому, самопис делать, из пары файлов, в которых все, и логика, и запросы к базе и их парсинг, и верстка
или брать вордпресс
или брать легкий фреймворк
или тяжелый, или мадженту, и что там сейчас у коробочных CRM в тренде, не в курсе

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

Бредовая статья с доводами от (или для) тех, кто не осилил хотя бы 1 фреймворк и ООП. На современном железе оверхед от фреймворков не заметен (ни от пхп-фреймворков, ни от js). А вот что в конечном итоге влияет на скорость работы продукта — код который написал пользователь фреймворка и запросы к БД (вот что касается БД, ORM конечно нужно уметь готовить или не использовать). Ну и рефакторить нужно хоть с фреймворками, хоть нет.

Фреймворки, это, оказывается, ненужный уровень сложности и абстракции)))

Я имел несчастье видеть незаконченный проект (заказчик устал и прикрыл лавочку через пару недель после старта, так как проблем было больше чем прогресса) как раз от такого противника ненужных абстракций. В процессе — куча багов, нежелание их исправлять и постоянные споры «это у вас верстка кривая», «этого в тз не было». Говоришь что тут ошибка при аякс-запросе и скрипт данные не валидирует, а тебе в ответ про тз. В общем-то CRUD не могут реализовать без проблем, а туда же — фреймворк не нужен, свои библиотеки...

Бредовая статья с доводами от (или для) тех, кто не осилил хотя бы 1 фреймворк и ООП.
насчет бредовости высказывания про фреймворки и ООП в статье — полностью согласен)

С одним но... Возможно автор имел ввиду применение фреймворков типа зенда или симфони для написания хэллоувордов говнокодерами) для таких случаев (хэллоуворды и хоумпэйджи пупкиных) такие фреймворки и ООП не нужны, а в руках неопытных программеров они думаю вообще вредны (имею ввиду вредны для примененения неопытными кодерами в продакшене, а не для обучения).

Ну даже если брать хэллоуворды. 2 страницы — уже какой-то роутинг делать. Да, если прям на 100500% уверен что расширяться это не будет никогда — можно склепать свой роутинг на ифах, данные из базы потаскать функциями mysqli_*, и в качстве шаблонизатора сам же php и использовать. Если что-то большее, нафиг-нафиг.
Еще есть такая тема: если человек пишет без фреймворков, он все равно начинает таскать в новый проект наработки со старых. Со временем получается свой недофреймворк, где тоже куча лишнего.

Ну и насчет статьи, там автор пишет сначала
«A view dictated by experience and practical consequence rather than popular trends, theory, or academic dogma.»
а потом
«Q: What is your experience in software development?

A: The ideas, thoughts, and conclusions expressed on this website doesn’t take much experience to reach if you just stay focused on the main theme which is to always do a particular thing because other people says so.»

И ни одно утверждение в статье не подкреплено примером из богатого опыта (ну там хотя бы «делал я один проект, и мы отказались от фреймворка, переписали и стало быстрее»). Значит, опыта и нет и перед нами или глупый человек, или тролль.

для это можно брать не зэнд или симфони, а какой-нить легковесный микрофреймворк типа Slim или F3)
а так да — делать роутинг ифами — это изврат полный)

и в качстве шаблонизатора сам же php и использовать.
ну ИМХО пхп в качестве шаблонизатора вполне можно и на серъезных проектах использовать. Например, в CodeIgniter’e как шаблонизатор во вьюхах используют чистый пхп обычно (например, можно в конфиге прописать, чтобы CI распознавал альтернативный/сокращенный синтаксис пхп типа <?=$variable?> ), хотя можно к нему прикрутить какой-нить Twig.

Все так, дописал бы только, что Волга впадает в Каспийское море )

Подписаться на комментарии