Как отличить нормальную книгу по программированию на PHP от туфты.

Последние 8 лет я программирую исключительно на PHP. За это время я видел много книг по программированию на этом языке и мне есть что рассказать о качестве этих книг.

PHP демократичный язык. Вы можете сравнить строку содержащую число, с числом и результат будет true или false, хотя во всех других языках со строгой типизацией будет всегда false. Вы можете писать функции в любом регистре и в любом стиле. Вы можете записать в переменную число, потом в эту же переменную записать строку, а потом положить туда объект. И интерпретатор PHP вам слова не скажет.

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

Низкое качество книг.

Большинство книг о программировании для веб и на PHP в частности полная туфта. Я не знаю, какое слово еще подобрать, чтобы рассказать о всей ущербности этих книг. Глобальные переменные, доступ к свойствам без проверки на их наличие, непонимание разницы между isset и array_key_exists, запросы с SQL-инъекциями и прочее прочее есть в большинстве книг. А и еще глобальные переменные. Как же без них в 2018 году?

Очень часто в книгах можно увидеть код вида:

Привет, меня зовут $_GET['name'];

Беда абстрактного примера выше в том, что мы пытаемся получить значение name из глобального массива $_GET, даже не проверив, есть ли там это значение или нет. Это крайне ненормальная практика программирования и при показе всех ошибок у нас по-любому будет E_NOTICE. Но кто в книгах расскажет, что писать код нужно только в режиме error_reporting(E_ALL)? Никто.

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

Выпускаются книги о версиях PHP, которых не существуют

Когда книгу начинают писать, не факт, что версия PHP о которой пишут в книге выйдет. Пример - PHP 6. В магазине "Читай-Город" я видел книгу о PHP 5/6 от 2009 года (!!!)

Но версия PHP 6 никогда не выходила. Разработчики PHP долго ее делали, пытались выпустить, но в итоге пропустили и сделали версию PHP 7.0. Но кого это волнует? 

Видимо книга писалась параллельно разработке языка и вышла в тираж раньше, чем команда PHP объявила о переносе PHP 6 на PHP 7. Я еще встречал такие приколы, что сейчас 2017 год, осень, а в книге стоит уже 2018 год. Чудеса, да и только.

Кстати, почитать о том, почему PHP 6 не вышел можно в этой статье 2012 года: PHP 6 не будет, не осилили

Книги с плохим PHP кодом и SQL-инъекциями

Пример такой книги: PHP, MySQL, javascript, CSS и HTML5. В этой книге плохо всё, начиная от синтаксиса PHP, заканчивая SQL запросами с SQL-инъекциями.

В книге можнно найти запросы вида:

$query = "SELECT * FROM messages WHERE recip='$view' ORDER BY time DESC"; 
$result = queryMysql($query); 
$num = $result->num_rows;

Здесь есть SQL-инъекция и крайне странный синтаксис PHP кода. Функции queryMysql в PHP нет и судя по коду, здесь не используется PDO, который является стандартом для работы с базами данных.

Как отличить хорошую книгу о PHP от плохой?

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

Обычно, в плохих книгах рассказывается сразу о нескольких технологиях. К примеру, о HTML, CSS, JS, PHP, MySQL. Нельзя в 600 страниц рассказать о всех аспектах языков. Книга должна рассказывать о чем то конкретном, о HTML, о JavaSscript или PHP.

Читайте отзывы о книгах на профессиональных ресурсах, вроде хабрахабр. Очень часто издательство Питер публикует анонсы книг, а под этими постами можно найти комментарии. К примеру, о книге PHP, MySQL, javascript, CSS и HTML5 комментарии не очень положительные, а вот отзывы на том же OZON больше положительные:

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

Что почитать по PHP в 2018 году?

Читайте официальную документацию. Официальная документация покрывает 100% возможностей PHP. Читайте вот эту книгу:

В книге на профессиональном уровне рассказывается про PHP и паттерны проектирования. Рекомендую всем PHP разработчикам.

Также есть отличный сайт по PHP:

http://phptherightway.ru/

Рассказывающий о современном PHP. На этом сайте рассказывается о Composer, PSR, XSS, CSRF. Вы не найдете информации об этих технологиях в книгах! По крайней мере я таких книг не встречал. Если вы знаете примеры таких книг, напишите в комментариях.

Читайте исходные коды фреймворков. Очень полезно. Читайте книги по разработке на Java. Вообще, полезно знать Java на минимальном уровне, так как это строгий язык и он научит вас правильно писать код.

Кстати говоря, читать книги, которые я привел выше можно. Но делать это нужно только в том случае, если вы параллельно читаете официальную документацию по PHP, так как некоторые вещи в книгах и в документации могут не совпадать. 



Рекомендуем посмотреть
AOC i2369V обзор доступного IPS монитора
Обзор планшета MSI Primo 81. IPad mini на Android
Обзор Minolta 50mm 1.7. Легендарный полтинник от Minolta.
Genius MIC-01C — обзор петличного микрофона за 100 рублей.
Авторизуйтесь через Вконтакте , чтобы оставлять комментарии от своего имени