besogonskiy
@besogonskiy
работаю php laravel разработчиком.

Как повысить уровень создания проектов на чистом php?

Почти 9 лет работаю в веб-разработке. За это время поработал и с cms, и занимался написанием скриптов, парсеров, ... И лет 6 назад основательно засел на Laravel и не смотря, что я даже не читал документацию ни разу доконца, мне удавалось работать на серьезных проектах и писать качественный код.

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

Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?

Да какой там патерный? Я пишу под Laravel. Здесь все уже придумали за нас. Есть DI, есть роуты, контроллеры, модели.

Ну для работы с данными еще использую репозитарий. Для реализции бизнес-логики Сервис-классы. иногда DTO использую для преобразования данных. Action слой для мелких операций. Больше особо ничего и не нужно. Ну фабрику может ещё.

Так ведь опять же недостаточно этого для тех, кто пишет с нуля на php.

А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php? А если даже и напишу, то где гарантия, что это было сдлано путёво с использованием нужных патернов и соблюдением принципов Solid?

В Интернете практически нет материала. В книгах тоже. Может начать с изучения PSR и отталкиваясь от него начать писат простой psr фреймворк как это делал Дмитрий Елисеев?

Или просто взять симфони и начать писать на ней чтоб понять суть вещей глубже и потом козырять своими скиллами на собеседованиях, что, мол, ,я тут на Симфони пишу, а вы мне тут вопросы для школьников задаёте?

Короче расскажите мне про роудмеп погружения в php. Теорию я и так знаю - книги по php читал.
  • Вопрос задан
  • 816 просмотров
Пригласить эксперта
Ответы на вопрос 7
@koder_1
Битрикс программист
В 2005-2010 была мода, каждая веб-студия даже из одного программиста писала свою собственную cms, обычно на чистом php.
По опыту написания своей цмс, могу сказать что со временем все равно это переходило в подобие своего фреймворка со своими классами, хелперами, со своими правилами в каких папках что хранить, как что называть, со своими общими функциями постраничного вывода, маршрутизации.

Какой здесь вывод? На чистом php все равно никто не пишет, все равно создаётся свое ядро, свои наработки, которые используются от проекта к проекту. Всё равно создаётся свой фреймворк.

Так что выбор здесь или использовать готовый фреймворк/цмс или будет собственный фреймворк внутри вашей команды разработчиков.

На собеседовании поэтому можно так и спрашивать, а зачем писать на чистом php, если есть инструменты, которые ускоряют разработку?
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer

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

Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?

Мне кажется что за 9 лет ты уже достаточно получил опыта чтобы проходить собеседования. Просто ты - неуверенный. Тебе надо овладеть риторикой и просто базовыми умениями убеждать собеседника.

Очень часто рекрутеры слушают не твои ответы а считывают твой уровень уверенности.
Эти чортовы засранки - настоящие психологи. И они обучены распознавать лузеров и всяких мамкиных
вайтишников.

Шаблоны проектирования... Темя душная и нудная. Способна убить любой энтузиазм. Тебе не надо их знать
все. Все - никто не знает. Прочитай про 3-4 штуки и попробуй узнать знакомые. Например singleton - достаточно
известный шаблон и почти все разработчики всегда его использовали только не знали об этом. Или пул объектов.
Например везде где есть базы данных - он используется. Или фабрика. Да я и сам их не знаю. Надо будет
почитать - почитаю. Но для собеса - выучи хотя-бы классификацию. Они там разбиты по категориям
как порождающие, поведенческие и так далее. Как в химии например. Я химию не знаю но примерно
догадываюсь что есть кислоты и щелочи. Что действие их взаимо-нейтрализующее.

А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php? А если даже и напишу, то где гарантия, что это было сдлано путёво с использованием нужных патернов и соблюдением принципов Solid?

Нет нет это - чепуха. И это тебе не надо. Никто этот код все равно смотреть не будет (вообще никогда
сцуко не смотрят).

Главный совет. На собеседовании ты должен непрерывно говорить. Как оратор с трибуны. Тебя
должны остановить когда - достаточно. Но если ты сказал 2 предложения и замолчал - это выглядит
как будто ты не знаешь или не уверен в себе.

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

Собеседования - как олимпиады. К ним надо привыкнуть и войти в некое астральное состояние духа.
Вот как только ты в него зашел - так ты и сразу готов пройти любое настоящее.
Ответ написан
Комментировать
kawabanga
@kawabanga
Тем не менее сейчас я столкнулся с тем, что на собеседованиях начинают спрашивать что серьезного доводилось делать на чистом php - без фреймворков и мои ответы на их вопросы касательно парсеров, скиптов для обмена данными остаются неубедительными. Даже дальше кадровиков иногда дело не уходит.


Вы неубедительны. Парировать надо. Ну найдите разраба, который в угоду своему ЭГО, будет писать проект на чистом php, который в будущем сможет поддерживать только он.

Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?

Вы недостаточно сильны в этом вопросе, SOLID опять же не про фреймворки.

А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php?

Зачем вам это? Изучать как работает PHP и смежные вещи - одно. Писать пет проекты чтобы закинуть их в ящик - другое.

Может начать с изучения PSR

Нужно, сразу после того, как вы начнете понимать php.

от него начать писат простой psr фреймворк как это делал Дмитрий Елисеев?

А что это вам даст?

Или просто взять симфони и начать писать на ней чтоб понять суть вещей глубже и потом козырять своими скиллами на собеседованиях, что, мол, ,я тут на Симфони пишу, а вы мне тут вопросы для школьников задаёте?

А при чем тут симфони и вопросы школьников?

Короче расскажите мне про роудмеп погружения в php. Теорию я и так знаю - книги по php читал.

Сначала начните с того, как искать в гугле. Полезный навык, помогает.
https://github.com/thecodeholic/php-developer-roadmap
Ответ написан
vitaly_74
@vitaly_74
Попробуйте ddd освоить)
Ответ написан
Adamos
@Adamos
Если вы уже пишете на фреймворке - значительную часть "уровня" он обеспечивает вам из коробки.
Остается уровень конкретно того кода, который пишете вы.
Но тут трудно сказать, чего именно вы не нашли в интернете и книгах, не зная, что вы, собственно, читали.
Например, обычно человек, читавший "Паттерны проектирования", не называет их "патерными проектированиями"...
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Фреймворки пишутся для достижения определенных целей:
* переиспользование кода
* одинаковый код
* меньшие затраты на типовые задачи
* меньшие затраты на персонал

Это вы должны отвечать просто сразу.
Что то писать с нуля? Ок ваш первый вопрос а зачем? Какие задачи будет решать это с нуля? И сколько это будет стоить?

Причем это с нуля в конце концов выливается в очередной фреймворк, если силенок хватит
Ответ написан
Комментировать
Да какой там патерный?

А вот те самые, которые в Laravel и заложены. То, что фреймворк заставляет Вас их использовать, а не Вы добровольно это делаете, не играет роли - Вы их используете. Если Вы знаете, что используете какие-то паттерны, но не понимаете, что это и зачем - ну почитайте про каждый используемый паттерн.
И вот Вам такой пример: скрипт обмена данными может быть на уровне "приняли строку, разобрали регулярками, отдали строку", а может быть иерархия классов, тесты. Результат на выходе одинаковый, а уровень работы с кодом совершенно другой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы