Для начала скажу, все что я тут написал не является правильным на 100%, скорее всего есть способы гораздо эффективнее, но я их не знаю. Мои советы разделены на 4 части 1 часть чистый пхп, 2 - фреймверки, 3 - проект, 4 - об о всем по чуть чуть. Начнём,
-
Английский - если ты не понимаешь английский на уровне что бы написать на форуме внятно вопрос (что бы остальные поняли, и это не гугл переводчик), слушать и понимать видеокурсы, и читать книги/доку в оригинале (очень важно в оригинале, т.к. при переводе теряеться очень много смысла или он передаеться не так, есть ошибки, короче лучше оригинал), то тебе нужно сначала выучить английский. А то потом придеться работать на СНГ и получать зп в 2 раза меньше чем все остальные.
-
основы. Один из лучших способов их освоить это курс "специалист php", скачай самый свежий который только есть (ищи короче. Но нашел вот это ProfIT PHP , а вообще ищи сам, в этом суть работы программиста. А и еще, если видишь курс, не бери те которые старше 2 лет {есть редкое исключение когда можно, но это только по рекондации кого то, ну и в основном это инфа по архитектуре, петтернам и тому что для тебя еще рано} - все очень быстро меняеться).
1.1. После этого прочитай книгу php pandas, это электронная книга ( даже серия связанных статей на сайте)
1.2. зайди на блог Антона Шевчука и прочитай все статьи которые есть в серии php для начинающих (http://anton.shevchuk.name/php/ вроде все но не уверен)
1.3. Пока не так наверное важно, но если улёт интересно ещё почитай 2 сайта по Zend сертификации: phptherightway (его вообще весь от корки до корки) и php-guide.evercodelab.com Ну и что бы себя после этого проверить, certificationy-cli [Впринципе и без этого пункта можно справиться]
-
Фреймверки.
2.1. Лирическое отступление. Если основы они для всех важны, то фреймверки, это для каждого отдельно/по вкусу/по потребностям. Я педалил симфони, йи, ларавеле.
2.2. Какой фреймверк выбрать? Ну для этого я решил использовать гугл тренду и поискать самые популярные фреймверки. Картинку прикрепил. Ларавел самый популярный, он состоит из компонентов симфони. Еще варианты это йи, симфони и зенд (от создателей самого пхп). Ну если честно, то я хз что выбрать, это как молотки разных фирм, они разные, но есть у них что то общее. Начинай с ларавеля, он очень простой. На симфе работы меньше, но она учит "что такое хорошо, а что такое плохо"
2.3. О симфони. Я начал изучать его по курсу из KNPUniversity (сейчас SymfonyCasts) (можно оформить подписку на https://knpuniversity.com за 25 баксов и выкачать все что там есть и пройти) Вот этот материал очень даже достойный, там все очень хорошо объясняеться. Еще для изучения симфони есть ресурсы http://ourcodeworld.com/ и https://codereviewvideos.com/ (частично платный)
2.4. Ларавель. Так как он самый популярный, то найти по нему материал легко. Но я не уверен в его качестве. Есть только 2 ресурса в которых я уверен: 1. laracasts и Laravel: Code Smart
-
Это все хорошо, но главное это умение кодить. Так вот тут уже насколько у тебя хватит твоей фантазии.
3.1. Придумай себе проект для реализации. Самый типичный это блог или найди здесь https://proglib.io/p/interesting-idea/ , а лучше вообще придумай сам.
3.2. Реализуй его так как хочешь.
-
То самое обо всем по чуть чуть)
4.1. Ну и что бы понимать на каком уровне ты сейчас находишься, подавай резюме/мониторь на вакансии пхп разработчиков. Даже если не собираешься работать там. Проходи тестовые задания это очень хорошо помагает узнать свои слабые стороны.
4.2. Есть штуки которые пригодяться всегда но я здесь их не указал
- линукс (разработка идет только на нем - нравиться винда, тебе на C#), нужно понимать в какой среде ты работаешь хорошая книга Дэвида Тейнсли «Linux и Unix. Программирование в SHELL» тоже нужно
- гит (обязательно, и все свои проекты (не коммерческие) выкладывай на гитхаб) - http://learn.javascript.ru/screencast/git вот норм курс
- вообще привыкни что постоянно надо будет учиться, учиться много, учиться придеться не только в свободное время, а просто на ходу (поставили задачу реализовать какой-то функционал, примеры которого ты не видел). Нет нужной библиотеки? Напиши сам!
- помогай другим учиться (из прошлого пункта, не нашел материал по которому можно научитсья, после успешного завершения (да и походу наверное), пиши статьи (сначала в свой блог) по этой теме, разберешься еще лучше). Сделал библиотеку? Выложи в опенсурс, пусть другие юзают.
- тесты. Изучи тестирование (TDD), там целый курс есть по нему на ларакасте.
- заведи твиттер и следи за сообществом, у меня в подписках большинство есть https://twitter.com/IssecMura/following просто переподпишись на этих людей
- фронт энд. Если нравиться больше визуальная часть програм, а не серверная, то тебе вообще туда. Для начала подойдет http://learn.javascript.ru/ а дальше хз ибо я не фронт.