В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?
Здравствуйте.
Мне 19, с первого курса занимался программированием, в начале был C# и C++, недавно решил углубиться в веб.
Осилил HTML+CSS довольно быстро, после освоил принципы работы php+mysql, изучил javascript и jquery на базовом уровне, понял зачем нужен ajax. После попробовал установить себе популярные CMS (Joomla, Wordpress etc) и PHP-фреймворки (CodeIgniter, Yii) понял в чем отличие cms от фреймворков. Правда, ничего написать на этих фреймворках я не смог, решил изучить ООП в php5. Начал читать книгу Мэтта Занрстра - "Объекты, шаблоны и методики программирования".
После сотой страницы решил посмотреть, что требуется от PHP-кодеров на фрилансе. Расстроился, когда увидел, что бОльшая часть заказов связана с Wordpress-ом и другими популярными CMS. Начал гуглить и узнавать, как копаться и что-то менять в этих CMS-ках. В итоге понял, что всё упирается в знание их внутренних API.
Весь день я занимался последним, написал простейший плагин для wordpress (добавление определенной инфы и параметра через админку и отображение инфы в зависимости от этого пар-ра на странице через шорткод), совершенно забыв про книжку по ООП. Да и код в этом недоплагине был ужасен: я понял что не умею разделять логику от представления, и решил вспомнить недавно заброшенный мною Yii.
Начал читать мануалы по фреймворку и MVC в целом, но максимум чего достиг - понял как работает контроллер, модель и отображение, но понимание совсем не глубокое.
Теперь я понимаю, что после целого дня говнокода для wordpress, в котором были смешаны html, php и js - я не могу перестроить мозги на работу с более правильным подходом (mvc).
И я запутался. Дело в том, что корень моих частых "прыжков" то туда то сюда - желание достичь хорошего уровня, и что самое главное - иметь возможность фрилансить/работать удаленно (живу в глубинке) к окончанию университета (4 курс). Боюсь за оставшиеся 2 года своего обучения так и не стать более-менее нормальным разработчиком, который уже может делать определенные вещи и зарабатывать.
И этот страх приводит к тому, что у меня нет своей "рабочей программы", нет четкого понимания, в каком порядке и что мне изучить.
Извините за тонну текста, но я бы хотел попросить Вас, опытных разработчиков, подсказать мне хоть сколько-нибудь выстроенный "путь" - в каком порядке изучать то или иное, чтобы не стоять на одном месте, учитывая описанное мною выше? Заранее большое спасибо.
Больше всего шокирует желание прыгать с одного на другое, а потом удивляться почему ничего толком не понятно. И еще вопросы как изучать пхп неоднакратно задавались на ресурсе, почему не почитать ответы там.
Все просто.
Первым делом хочу сказать не слушай тех кто кричит, что обязательно нужно уметь писать под WP/Joomla и прочие говно-цмс. Вторым, на тех кто кричит, что не нужны фреймворки и сторонние библиотеки.
Раз взялся за ПХП - книгу ты выбрал верную, дочитывай её до конца, что не понятно перечитывай.. Потом мануал и практика. Сначала пиши свои велосипеды (для практики). Заведи аккаунт на github, выставляй все туда, не бойся критики и прислушивайся к ней. Когда более менее поймешь как строится структура приложения, как работают различные паттерны и т.д. Начинай разбираться в чужем коде. Выше уже писали, про написание велосипедов - это не верный подход, даже если ты не будешь работать веб-разработчиком, а просто хочешь написать свой проект. И вот почему.
- Любая библиотека / Фреймворк хорошо оттестирована профессионалами
- Использование сторонних разработок ускоряет время разработки (ты не будешь терять на разработку одного проекта по году, полтора)
- Легко внедрится в команду или найти команду в свой проект
Самый простой фреймворк для изучения новичку это Codeigniter или Laravel (4 ветка)
Спасибо. Глянул codeigniter - как-то и правда он проще и документация более подробная и понятная. Вопрос -- насколько сложно будет перейти на yii2/symphony, хорошо разобравшись в codeigniter?