«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2022/06/07 21:04:01  №2374398 1
>>2373567

У меня ощущение, что помеченные синим блоки (nice-to-have) это тоже обязательно. Знать только красные блоки будет маловато. Как это так - знать SELECT, но не знать JOIN. Никуда не годится.

С другой стороны, знать Yii и Wordpress не требуется, если вы с ними не планируете работать.

Не хватает основ линукса и командной строки. Не хватает шаблонизаторов. Не хватает ORM и связанных с ними паттернов: ленивая загрузка, identity map, unit of work.

Насчет паттернов: много бесполезных паттернов вроде registry или service locator, абстрактная фабрика, и мало полезных вроде паттернов для ORM или паттернов для работы с БД (TableGateway, Data Mapper).

Насчет ООП. Тут, увы, материалов по ООП мало (вообще, во многих учебниках и туториалах с ООП беда). В Роадмапе я вижу ООП рассматривается всего лишь с двух сторон:

- синтаксис классов и объектов со ссылкой на документацию
- паттерны проектирования со ссылкой на сайты или книги

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

Мне это хорошо знакомо, так как я сам, когда начал свою карьеру не знал ООП, а знал только синтаксис. То есть, я знал, что такое класс и объект, как их описывать, создавать, как вызвать методы, но не понимал, зачем они нужны и, подозреваю, успел налепить много кода сомнительного качества. Например, я не понимал, зачем в нашем приложении использовались классы, если можно обойтись без них. Или, если уж мы решили использовать классы, то почему бы не сделать все на статических методах, чтобы не надо было создавать объекты.

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

И мне кажется, по этой причине, то есть из-за непонимания, у людей "ООП" ассоциируется с чем-то излишне переусложненным. Хотя это очень полезная и важная идея, улучшающая качество кода.

По ООП роадмап дает ссылку на oodesign, а там по сути рекламируются две книги:

1) Head First OO Analysis & Design. Я пролистал книгу, и она не объясняет что такое ООП, а предполагает, что читатель это уже знает. Примеры кода на Java (она довольно похожа на PHP). В первой же главе есть сеттеры и геттеры, и никто не объясняет, чем они лучше, чем публичные свойства. Опять же, предполагается, что читатель знает про инкапсуляцию.

Также, мне не понравилось, что до начала полезной информации идет более 30 страниц бесполезных вступлений и мотивирующих страниц.

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

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


Ответы: >>2374409 >>2380167
Аноним 2022/06/07 21:11:43  №2374409 2
>>2374398
>Посередине между этими двумя направлениями не хватает важной вещи: самой концепции ООП, понимания, зачем оно нужно, какие плюсы дает, где и как его использовать (без паттернов) и где его использовать не надо, и как его использовать правильно.
>Вот этой информации вы не найдете в документации по PHP. Она описывает только синтаксис. И не найдете в книгах по паттернам, так как они рассчитаны на тех, кто уже знает ООП. А если вы полезете в паттерны, не зная ООП, то толком ничего не поймете.
Меткое наблюдение, и где вот этот промежуточный слой добывать, методом собственных проб и ошибок?
Ответы: >>2374489
Аноним 2022/06/07 22:17:24  №2374489 3
>>2374385

Личные проекты вместе с изучением документации и туториалов дадут достаточный для джуниора уровень.

>>Это приходится делать
> Ну делай, мне с такими не по пути

Тебе не по пути с компаниями, которые хотят отбирать только компетентных специалистов и отказывают тем, у кого нет достаточных знаний? Которые нанимают только лучших из имеющихся на рынке? (задумчиво чешущий подбородок смайлик)

>>2374409

Не знаю. Попробуй читать разные уроки, книги и туториалы и может быть в сумме ты наскребешь что-нибудь.

По многим темам нет хороших уроков, например по HTTP на русском я как-то искал информацию и ничего толком не нашел. По концепциям ORM тоже нету ничего.
Ответы: >>2374766
Аноним 2022/06/08 10:59:23  №2374766 4
>>2374489
Как связаны отбор компетентных специалистов и вопросы по пхп, ларе? Если человек имеет опыт, проекты, нахуя ему знать в чем там отличие =, == и === (как пример).

Я не беру в расчет такие компании как вк, яндекс и подобные. Где кандидатов куча и они отсеивают их алгоритмами, которые в работе не применяешь
Аноним 2022/06/15 08:00:15  №2380167 5
>>2374398
>ООП
На торрентах - Дмитрий Елисеев. Скорость x2