Комментарии 11
Приведённые выдержки из книжки не побудят профессиональных разработчиков ее купить =)
Надо название поменять - «Рецепты PHP. Для желающих стать профессиональным разработчиком»
"Компилятор PHP не смог проанализировать скрипт..."
компилятор... ага
Почитав статью создалось впечатление, что автор начал писать книгу лет 15 назад и только сейчас закончил.
Проще всего узнать КАК пользоваться php через доку (особенно про те вещи, которые привели). Другой вопрос КОГДА и ЗАЧЕМ их использовать, а ещё лучше почему лучше НЕ ИСПОЛЬЗОВАТЬ - вот это было бы как раз что-то чем можно поделиться профессионалу с другими профессионалами. Сейчас рассматривать задачу для ПХП без связки с окружением где он запускается - можно очень сильно ошибиться. Такие книжки скорее действительно не для профессиональных разработчиков, как правильно заметили выше.
компилятор... ага
Ну, если без шуток, то в PHP три разных компилятора (constexpr, основной: опкоды + оптимизрующий + опкеш, jit). А интерпретатор уже воспроизводит результат компиляции или просто отправляет сгенерированный машинный код (если это возможно и такой есть после JIT) на исполнение. Так что технически назвать это компилятором с натяжкой возможно.
P.S. Но это так, просто примечание к сарказму) Понятно, что в данном случае будет ругаться вообще парсер, т.к. это ошибка в грамматике. Чтобы ругался компилятор - надо написать:
<?php
function example(): void
{
return 42;
}
В этому случае будет ругаться именно компилятор уже после разбора в AST и ещё до запуска кода (интерпретации то бишь) т.к. не осилил генерацию опкодов из-за ошибок в типах.
Я даже не знаю, кто здесь прекраснее - никому неизвестный Эрик А. Манн, который пишет книги "на отвали", или обкурившийся школьник, который его переводил.
Этот "инженер-программист" выступает в роли прапорщика из анекдота, "Летают, только низенько-низенько". Сначала он пишет рецепт, что на боевом сервере все ошибки надо подавить. А потом при обсуждении вдруг вспоминает, что вообще-то не надо. Так надо или нет? Вроде не мальчик, мог бы определиться уже, за столько-то лет разработки.
Или совершенно бессмысленные примеры кода, на которые смотришь и думаешь - "а нафига вообще в язык завезли такой дурацкий функционал? Я что - сам не выведу сообщение об ошибке, без всяких исключений?"
Ну и самая знаменитая бессмыслица, куда же без неё: "Вы знаете, что функция может выдать ошибку, поэтому важно обернуть любой ее вызов в оператор try". Ага, то-то я вижу каждый вызов require, или любой оператор деления обёрнутый в try... А обрабатывать пойманное исключение автор рекомендует фразой "у вас тут бешеный суслик". Просто прелестно. представляю код, написанный по этим рецептам.
Но окончательно книгу испортил, конечно, двоечник, которого заставили переводить незнакомые слова. И сэкономившее на техническом редакторе издательство. Что надо курить, чтобы простую фразу
There might be specific pages with known errors
превратить в нелепую отсебятину
Возможно, существуют страницы с записями об уже известных ошибках
?
Кто должен следить, чтобы из текста не пропадало форматирование, и непереводимые термины
Any other
Error
orException
thrown by the function
не стали простым текстом, полностью меняющим смысл,
Любая другая ошибка или исключение будут перехвачены
поскольку ошибки этот код ловить не будет?
Кстати, кто догадается, что имеется в виду в нижеприведенном сложносочиненном предуведомлении - тому приз
До PHP 8.0 уровень отчетности об ошибках по умолчанию начинался с E_ALL, а затем явно удалялись диагностические уведомления (E_NOTICE), строгие предупреждения о типах (E_STRICT) и уведомления об устаревании (E_DEPRECATED).
(тут в первую очередь заслуга косноязычного автора, переводчик лишь старательно скопировал эту белиберду).
Так и не понял для кого эта книга. Приведены общеизвестные основы, которые имеются в документации.
Это даже на пособие "для чайников" не тянет. Просто распечатанная дока с кривым местами переводом.
позвольте осведомиться в целях повышения образованности - а что бы вы порекомендовали почитать, если рабочий язык - php? Спрашиваю вполне серьёзно - что бы такое почитать, чтобы осознания добавилось? Пока есть Котеров/Костарев, ещё рекомендовали Зандстру
Ох не знаю. Самому интересно - потому и зашёл в эту статью из предложки. Я далеко не профи, даже не разработчик, так,... хобийно знаю php. Но даже с моим уровнем приведенные примеры из книги до абсурда банальны.
Эээ... Котеров/Костарев - это что-то совсем древнее. Даже последняя книга под брендом Котерова, про РНР8, в общем так себе, но учить РНР по учебнику для 5 версии - это как-то совсем не алё.
Для осознания лучше взять Дакетта. У него гораздо более системный, что ли, подход. Самое начало можно пропустить, там азы типа "что такое переменная", но вот начиная со второй части должно быть очень полезно.
А в целом тут надо смотреть на текущий уровень/потребности. Осознание чего именно требуется, какие области?
Если речь зашла о Зандстре, то это маст хэв. Но Зандстра - это про то, как писать объектный код. Строго определенная узкая тема, и ни по каким больше она не поможет.
Книга: «Рецепты PHP. Для профессиональных разработчиков»