По мере роста сообщества Laravel появляется всё больше обучающих ресурсов. Это здорово! Но как выбрать из них лучшее? На какой стоит потратить своё время? Этим вопросом задаются те, кто не знаком с фреймворком. Вот семь советов, которые помогут вам изучать Laravel более эффективно.
Некоторые из них будут специфичны для Laravel, а другие являются общими для изучения любого языка программирования или фреймворка. Давайте начнём.
1. Не начинайте с официальной документации. Серьёзно.
Обычно первое, что читают новички, — это официальная документация Laravel. Не поймите меня неправильно — документация хороша! Но ожидается, что у вас уже есть знания экосистемы PHP и современных инструментов.
Например, первый раздел документации — установка, это не просто «скачать и установить». Вам надо знать, как пользоваться Composer, как пользоваться терминалом или командной строкой, как выполнять команды, как работают веб-сервера и т.д. Это приводит нас ко второму совету...
2. Сначала изучите PHP, ООП, терминал и Composer
Это может показаться забавным, но я всё чаще встречаю людей, пытающихся изучить Laravel, не зная PHP. Другой похожий пример — те, кто пытаются работать с jQuery, вообще не зная JavaScript. Не обманывайте себя и начните с основ.
Чтобы начать изучать любой современный PHP-фреймворк (Laravel, Symfony и т.д.), вы должны хорошо знать PHP и тем более объектно-ориентированное программирование. Все фреймворки написаны по методологии ООП, и вы должны разбираться в классах, объектах, свойствах, методах, зависимостях, типажах и других «ключевых словах».
В общем, я советую вам сделать хотя бы один простой проект на чистом PHP без каких-либо фреймворков. Тогда вы лучше поймёте PHP, а это позволит вам использовать внутренние возможности Laravel более эффективно.
Также Composer — инструмент, который, по моему мнению, сделал PHP снова великолепным. Знание Composer поможет вам грамотно использовать зависимости Laravel, а это ключевая часть современной разработки на PHP.
Ах да, я упомянул терминал? Или командную строку для ОС Windows. И опять, современные PHP-фреймворки используют команды для многих своих функций: генерация кода, установка библиотек, изменение настроек, запуск развёртываний и т.д. Вам надо знать основы.
Это всё вы должны знать перед началом работы с Laravel. Теперь это не выглядит так просто? Но давайте продолжим, советы только начались.
3. Книги, курсы или видео? Бесплатные или платные?
Возможно, это самый важный вопрос: как лучше всего учиться? Это персональный выбор, некоторые лучше читают, а другие предпочитают видео. И это нормально! Решите для себя, как вам удобнее.
Информация для изучения должна быть правильно структурирована. Вы не можете просто взять случайные статьи или видео из YouTube — это не даст желаемого результата. Вам надо, чтобы автор излагал информацию последовательно, шаг за шагом. Иначе вы можете потерять ход мысли, и не сможете понять последующие уроки.
Кстати, это — фундаментальное различие между бесплатными и платными уроками в сети. Кто-то может сказать, что вы можете изучать программирование при помощи поиска в интернете, потому что в нём огромное количество информации доступно бесплатно. Это отчасти справедливо, но если вы выберете этот путь, то потратите много времени, пытаясь собрать это всё воедино. Часто лучший способ — это платные курсы или книги, потому что информация подготовлена для вас в удобном виде, вам не надо тратить время на поиск.
Вот три ресурса, с которых я рекомендую начать:
- Laravel Up & Running – книга Мэтта Штоффера
- Laravel from Scratch – серия видео-уроков на Laracasts
- Get Started With Laravel 5 – курс от Tutsplus
4. Перестаньте читать, начните писать
Невозможно научиться программировать, если не писать код. Не тратьте слишком много времени на чтение книг или просмотр видео, начните писать код, как только сможете. На самом деле, сразу пробуйте на практике то, что узнали из каждого урока или раздела.
В общем, я советую вам попытаться создать тестовый проект в течение вашего обучения. Это делает процесс не только более практичным, но ещё и мотивирует. Без правильных целей и желаемых результатов изучать теорию психологически тяжело.
А когда вы пишете код, вы сталкиваетесь с трудностями, и у вас появляются вопросы. Преодолевая трудности вы растёте как разработчик и накапливаете знания.
5. Научитесь использовать Google и StackOverflow
Хотя это и не связано конкретно с Laravel, но это важно. Я поражаюсь тому, как много тем на форумах создано людьми, которые могли «загуглить» ответ за две минуты.
Вы умеет пользоваться Google? Например, найдите “Laravel”, исключив из поиска слово “начинающий”, но чтобы результаты были только с сайта Laracasts. Запрос будет выглядеть так:
laravel -начинающий site:laracasts.com
Вот как глубоко вы должны погрузиться, чтобы найти необходимую информацию.
Таким же образом надо пользоваться и StackOverflow. Их результаты обычно появляются на первых страницах выдачи Google. Вы понимаете, как правильно выбрать ответ на вопрос? Он не всегда самый первый. Вы знаете для какой версии Laravel подходит этот ответ? А теперь это по-прежнему полезная информация?
Но надо уметь не только читать форумы, но и правильно задавать вопросы. У многих форумов и сообществ есть своя собственная культура, правила и нормы поведения. Если вы вежливы, терпеливы и уважительны, то у вас больше шансов получить помощь.
6. Найдите наставника
Самая большая проблема в изучении программирования — решение проблем, когда что-то пошло не так. Лучшее решение этой проблемы — попросить о помощи у кого-нибудь.
Я был наставником у нескольких студентов, и они говорили, что без моей помощи не смогли бы решить проблемы и возможно вообще перестали бы учиться. Вот как важна персональная помощь со стороны!
Где же найти наставника? В вашем сообществе, будь оно местным или сетевым. В Twitter отличное сообщество разработчиков, и если вы найдёте там кого-то, кто сможет вам помочь, не стесняйтесь и свяжитесь с ним. Сделайте на него ссылку в своём Twitter, подпишитесь на него, а потом найдите его почту и начните разговор.
7. Не сда-вай-тесь
Как было сказано в предыдущем совете, при столкновении со слишком сложной проблемой, можно легко сдаться и перестать учиться. Возможно это основная причина, почему так много людей начинают учиться, но только некоторые становятся профессиональными разработчиками. Никто не обещает, что будет легко. На пути ждут множество проблем, сложные вопросы, сомнения, и желание выбросить свой компьютер в окно. Я через это прошёл, поверьте. Главное — продолжать, несмотря ни на что. Подходите к процессу творчески, это всегда спасает.
И наконец, говоря о постоянном прогрессе, мой последний совет — не делать больших перерывов между обучением. Постоянно изучайте что-то новое, каждую неделю или даже каждый день. Это похоже на тренировки: если вы пропустите одно занятие, то будет сложнее снова войти в ритм.
Вот мои советы, надеюсь вы найдёте для себя лучший способ изучения, и, возможно, мы создадим превосходные Laravel-проекты вместе!
Комментарии (30)
☝
Шестой пункт (про наставника) выглядит притянутым за уши — есть люди, которым наставник противопоказан и они гораздо лучше во всём разбираются сами. Я сам такой. А остальные пункты дельные и, на мой взгляд, подходят для каждого.
Присоединяюсь.
И от себя:
Залезайте под «капот». Да, там черт ногу сломит, но документация как по мне описывает процентов 70 возможностей фреймворка.
Изучайте сопутствующие технологии, хотя бы на базовом уровне. Жизнь потом все равно заставит).
Если позволяет время — набейте своих шишек.
И я не про траву). Пример — можно поставить openserver, lamp, wamp etc, и можно поднять на виртуалке линукс с nginx, php-fpm и что там вам еще нужно руками — идем по более трудному пути, но получая больше опыта.Кстати про «под капот», пытался вникнуть как проходит весь запрос (того что описано в документации мне не очень хватило), запустил xdebug и прсмотрел весь запрос, жутко много шума, подскажите где можно найти подробно описаный механизм работы laravel? Про сам патерн MVC вкурсе, но с пониманием того же сервис контейнера и тд. есть проблемки.
В смысле прыжков по фасадам, которые передают вызовы в другие классы? С этим ничего не сделать, это идеология ядра Laravel. Лично мне это тоже крайне мешает отлаживать проекты отладчиком.
Да! Согласен с автором. Не начинайте с документации, вводит в ступор новичка. Тоже через это проходил. Думал, сейчас за недельку прочитаю и во всем разберусь, ха-ха. Фасады, провайдеры, сервис контейнер и т.д. и т.п. что, зачем, почему. Реально сложно, много специфической терминологии.
Мне помог Jeffry Way. I love this guy! Лучше препода не видел и не слышал. Полгода его смотрел платно, по 9 баксов в месяц. Все разжевывает, показывает, успокаивает, мол, не переживай, если вдруг ничего сейчас не понял.. С юмором. Но надо знать английский, конечно. Так что, лучше с него и начинать (с английского:) Потом из интереса скачал и бегло посмотрел один наш отечественный инфопродукт на тему ларавел. Ну, не то, конечно. Вроде вижу, что сам препод в теме, но объясняет слабо. У всех наших почему-то трудности с русским языком. Кошпыряют, экают и т.д. И еще очень много писанины, мол, ларавел очень гибкий — можно написать так, а можно так, и вот вам еще 10 способов. А зачем, а как лучше, не понятно.
И еще я выработал привычку писать вопросы в гугле или stackoverflow сразу на английском, информация 100% находится в избытке, чего пока не скажешь про русскоязычный сегмент.
Всем новичкам удачи в освоении замечательного фреймворка Laravel!
8. Удалите Доту и КС
лайк)
Я этот комментарий пишу сам себе, но себе, которому на год больше чем сейчас) Дорогой мой Я! Я вот сейчас ничего не понимаю в этом Ларавел! Я надеюсь ты все освоил и не сломался! Мне будет тяжело, а тебе уже было тяжело! Горжусь тобой! Ответь мне через год!
ну что там?
Полёт нормальный) Жду 27 июля)
даже интересно почитать)
Ну привет Я! Прошёл год. Ты молодец)
Год назад ты не знал разницу между циклами for и foreach. Сейчас уже пишешь приложения на ларе. Открыл свою компанию. Планируешь грандиозные проекты.
Неожидал? Такие дела) В общем, я горжусь тобой!
Беру эстафету и передаю привет Мне через год! Купи уже нормальную тачку и путную квартиру)
принимаю эстафету, через 6 месяцев увидимся тут снова. В ларе у меня как и в самом пхп не много опыта, не написал ни одного проекта еще. Посмотрим на результат через пол года. Надеюсь мне хватит терпения :)
Привет, я! Ну ты дал жару! Nuxt, nginx, docker! Молодец! Не сбавляй обороты!) Дико интересно, о чем ты расскажешь через год))) Удачи тебе, Я! Увидимся через год)
Интересно, как дела в июле 2021?
Нормально) Читайте в комменте ниже)
Привет, я! Ну что ж. Оказывается я стал зарабатывать уже) Не скажу что стало проще, но стало интереснее. Я начал свой стартап. Докер уже не просто докер, а почти кубернетес. Накст это почти мультидоменный фронт. Я научился в AWS. Ларавел ван лов форевер, но начинаем в Spring Java.
Начинаются серьёзные движения в сторону Kafka. Ох чувствую через год ты мне расскажешь о том как ты свои фантазии реализовал!) Вообще ты молодец наверняка) Трудись Я ты мой дорогой) Не сбавляй обороты!)
Что же, и я присоединюсь. Будущий я, на момент написания этого комментария ты уже пару месяцев ежедневно корпишь над веб-программированием, ты даже посвятил этому свой отпуск, каждый, за редким исключением, день вставая в 5-6 часов утра и занимаясь до 15-16 часов вечера. Уже относительно неплохо знаком с php, но ларавел после месяца кропотливой учёбы до сих пор идёт со скрипом, хоть прогресс и виден. Многие вещи тебе понятны, но когда речь заходит до их самостоятельной реализации, ты входишь в ступор. Докер, вагрант, vue и прочее для тебя — по-большей части чёрная магия. Большие куски html кода приводят тебя в отчаяние. От количества информации, которую нужно изучить, голова идёт кругом. Надеюсь ты не опустил руки и уже работаешь веб-разработчиком. Не подведи меня, очень тебя прошу. Напиши мне через полгода, т.е. 1 мая 2021-го.
Жду 1-го мая)
Итак, прошло полгода. За эти полгода было совершено куча ошибок, изучено несколько новых технологий и также потрачено куча времени на обучение. Последнее было, как я сейчас понимаю, уж слишком усердным, уже в январе я начал понимать, что изучаемый мной материал даётся мне с трудом, что, как оказалось, было вызвано перенапряжением, малым количеством сна и слишком маленькими периодами отдыха. Был момент, когда разочаровался в программировании и думал было забить, т.к. уж слишком туго всё шло. Однако, всё исправилось, как только я пару недель отдохнул, вяло изучая вёрстку и js, начал больше спать и отдыхать, и вместо 6-8 часов учёбы в день, начал учиться где-то по 3-4. Насчёт ларавела — друзья, никогда не изучайте фреймворк до того, как основательно изучите язык, на котором он основан. Логично, да? В тот момент я, балбес, так не думал. В-общем, пришёл к тому, что мог на ларавеле написать то, что на чистом php вызывало у меня ступор (я-то думал, что неплохо его знаю. Как же я ошибался!). По работе — откликался на кучу вакансий и тестовые, которые мне слали, нужно было написать на чистом php, что, как я указал выше, я не мог сделать, но мог их написать на ларавеле. Тогда и понял, что что-то делаю не так. Поэтому оставил ларавел и учу php. На данный момент пишу свой фреймворк, в учебых целях, конечно. Отпишусь 1 ноября. Всем удачи. Как я понял, главное в изучении — последовательность и регулярность. И не забывайте отдыхать.
Неожиданно что кто то рядом такой же «сумашедший» как и я)
Прикольно почитать про свои мысли/метания спустя долгое время, да и новичков такие посты сильно мотивируют) Спасибо тебе за классную идею!)
Немного опоздал с ответом, но не важно. Господи, неужели прошло уже больше года с моего первого комментария? В общем, три дня назад я устроился на свою первую работу программистом. Там, правда, нет ларавел, но после полуторы сотни откликов на удалённые вакансии я был согласен на что угодно, связанное с php. Ну, кроме битрикса. Сейчас изучаю то, что нужно знать на моей нынешней работе, а это паттерны проектирования, лучшие, чем у меня сейчас, знания js, html/css, sql, git, vagrant и docker. В будущем планирую всё-таки устроиться ларавел-разработчиком. Но это будет видно.
Всё нижеизложенное касается поиска удалённой работы. В офис устроится джуном гораздо проще.
Если ты — новичок и хочешь устроиться ларавел- или же просто php-разрабом на удалёнке, то тебе придётся знать много, действительно много. Js, отличные знания php (хорошее знание ооп, знать, как выполняются цепочки методов, знать что такое абстрактные классы, интерфейсы, трейты, области видимости, статические методы, финальные классы и методы, отлично знать PSR-1, PSR-4, PSR-12, знать, что такое неймспейсы), желательно понимание, как минимум, пары паттернов проектирования, знания sql (отличное знание join-ов, having, in, distinct, что такое нормализация и транзакция, вообще, стремитесь почаще писать код на sql), уметь выполнять асинхронные запросы (ajax, jquery), уметь ответить про области видимости let, var и const в джаваскрипте, также знать чем отличается function declaration от function expression в нём же, поставить себе в качестве основной ос линукс (желательно). Хотя бы немного поработать с докером и вагрантом. Иметь знакомство хотя бы с одним фреймворком. Разбираться в основах html, уметь пользоваться css, знать и уметь использовать комбинаторы селекторов в оном. Зная всё это можно рассчитывать на то, что вы выделитесь среди сотни-другой других кандидатов на джунскую вакансию. Большим плюсом будет знание базовых алгоритмов, знакомство с xdebug и юнит-тестами, а также знакомство с какой-нибудь cms.
И ещё, обязательно — обязательно! — заполните свой гитхаб (у вас же он есть?) своими пет-проектами. Не повторяйте моей ошибки, когда на вопрос hr о примерах моего кода я промямлил, мол, нетю таких. Сделайте пару проектов на ларавел и чистом php и залейте их в свой гитхаб. Погуглите тестовые задания на джунские позиции, сделайте их и тоже залейте на гитхаб. Классно, если в этих проектах вы реализуете асихронщину с помощью jquery. И не важно, если код у вас плохой, кривой, косой и так далее, просто заливайте его в репозитории. Обязательно покройте весь свой код комментариями, дабы потенциальные работодатели не путались в оном. А также при отклике на вакансии всегда, всегда пишите сопроводительное письмо, так ваши шансы сильно увеличиваются.
Отпишусь здесь через полгода, расскажу про свой прогресс.
Всем удачи!
Привет тебе Я через год! Ты начал идти к этому в начале прошлого лета. Прошел через недостаток мотивации на этапе верстки. Но ты выдержал его, сверстав несколько шаблонов и сделал свой первый реальный проект! Потом после нескольких месяцев затишья в начале этого лета ты прошел основы js (конечно не все), а потом ты перешел на php, и через неделю перешел на Ларавел. Без основ в пхп и субд тебе было очень тяжко. Ты пережил работу на 8 Ларавеле, хотя в курсе был седьмой. Ты научился дебажить не по-детски, ты узнал про основы гугления и что его гуглить надо всегда и везде. После этого был курс по ООП. До этого сталкивался с ним совсем немного. Конечно, ты далеко не все понял, но это тебя не смущает. Через год я уверен, что ты уже будешь работать джуном и осуществив свою главную мечту и цель ;) ! Сейчас я пишу тебе это проходя все же нормально курс по ПХП. Буквально через несколько дней я планирую закончить его, а потом и пройти курс по субд. Надеюсь, что у меня получится это пройти в течение 3 недель. Что ж посмотрим! После тебя ждет наверное начало написания своего пет-проекта. Ты знаешь, что это проект очень масштабный, и ты горишь начать его быстрее. Не забывай, что главное это быстрее прийти к своей цели, а не выучить всю веб-разработку. А для этого нужно быть сосредоточенным на своей цели. Не забывай, ради чего ты все это делаешь! Встретимся через год, пожалуйста, смотри только вперед в твое прекрасное будущее и помни дорогих тебе людей!
Молодец! Главное даже в моменты, когда накатывает уныние и нежелание что-либо делать, сжимать кулаки и двигаться дальше. Но не забывай о выгорании и старайся не перетруждаться и нормально отдыхать. Это очень важно.
Удачи!
Спасибо! Жду твоего ответа первого мая!
Добрый день. Мой Телеграмм
@EvgeniyChe81
Что же, год прошел. Долго и быстро. Ты работаешь уже давно, при чем на двух фреймворках, используешь Докер, Xdebug стал твоим помощником. Ты познакомился с Рестом, применяешь Постман. Также понял, зачем нужно делить фронт и бек. Мой тебе совет - уделяй больше внимания практике во внерабочее время. Это сложно, но так необходимо!
Пишу тебе Я через год. Кем ты будешь через год: стронг джуном или мидлом? Все зависит от тебя самого! Добейся своего! Купи себе то, что ты хочешь!
Еще один год прошел. Сказать, что пролетел — ничего не сказать. Я поработал на разных фреймворках и даже на самописных. И понял, что лучше Лары еще ничего не придумали. Я все ближе к мидл уровню, также уже попробовал пару фронтенд фреймворков.
Пишу тебе Я через год. Хотя говорят, что ты еще не станешь через год мидл разрабом, верю, что ты этого уже добился. Спасибо, что ты не сдавался, верил в себя и постоянно двигался вперед!