Со времен базового курса по PHP ещё в университете, я постоянно нахожу статьи, которые порицают один способ программирования, и восхваляют другой, часто являясь противоречивыми друг другу, например mysql_query, который показывается как единственный вариант работы с БД в абсолютном большинстве учебников и подавляющем количестве статей в интернете, супротив гораздо более современному и безопасному PDO.
Так вот, суть вопроса: есть ли какие-либо материалы, которые осуществляют более-менее свежий обзор на способы программирования, и которые не дают использовать и изучать те инструменты, которые уже устарели?
например mysql_query, который показывается как единственный вариант работы с БД в абсолютном большинстве учебников
Старых учебниках. Очень старых учебниках. Открываем документацию по PHP и видим:
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_query()
PDO::query()
То есть поглядывайте в документацию к PHP (на мой взгляд у PHP одна из лучших документаций из всего что я читал и смотрел, глупо в нее не поглядывать)
www.phptherightway.com (есть перевод на русский старой версии, он обновляется но лучше почитать оригинал).
>>Старых учебниках. Очень старых учебниках.
По запросу "как работать с бд php" все ссылки на мануалы с первой страницы гугла используют mysql_query, похожая ситуация и с другими запросами. Поэтому если не смотреть каждую функцию в документации на предмет свежести (из готового примера например), можно запросто начать использовать то, что уже устарело.
За ссылку и совет про документацию спасибо, хороший вариант.
webdisigner: не читал, не знаю. Я уж не помню по каким книжкам я учился и подсказать литературу для совсем новичка я точно не смогу...
Максим Анархистов: да, это очень большая проблема. Даже поднимались какие-то инициативы на реддите, обсуждался даже вопрос исключения этих туториалов из поисковой выборки или каким-то образом позволить людям проверять актуальность инфы. Но чето как-то во что это вылилось - увы не знаю.
Проблема еще в том что люди ленивые и редко любят думать головой.
Сергей Протько: Ещё проблема в том, что когда у человека недостаточно квалификации, он не всегда в состоянии осознать, что способ, который он придумал или нашёл - неправильный.
Алексей Скобкин: конечно, потому существуют практики типа код ревью и т.д. Ну и даже крутые чуваки иногда допускают "плохие" решения, и осознают о них уже после. Важно понимать что это нормально, и нужно просто пытаться себя обезопасить от них. Например плохое решение на которое завязана вся система - это явно проблема. А если плохие решения изолируются и их можно относительно быстро заменить - тут уже можно проще жить.
Modern PHP by Josh Lockhart. Книга от создателя уже упомянутого сайта phptherightway.com. Представляет собой обзор современных возможностей языка и хороших практик разработки.
The Clean Architecture in PHP by Kristopher Wilson. В книге разбираются недостатки лапша-кода, которым грешат все книги для начинающих по php. Рассматриваются SOLID-принципы и некоторые шаблоны проектирования. Приводится пример построения приложения на основе изложенных концепций.
Лучше дев-коуча/ментора/ревьювера не найти способа. Книги дают толк только когда уже получил некоторые фундаментальные знания. А до этого момента они только перегружают новичков лишней информацией да и устаревают знания быстро.
Честно говоря, периодически приходит в голову идея подрабатывать ревьювером, но:
- спрос очень небольшой, очень мало даже кто осознает убогость лапшекода
- этому можно и так научиться в нормальном коллективе с практикой код ревью
- новички вряд ли готовы выложить деньги по тарифу хотя бы 700 рублей/час