По мере роста сообщества Laravel появляется всё больше обучающих ресурсов. Это здорово! Но как выбрать из них лучшее? На какой стоит потратить своё время? Этим вопросом задаются те, кто не знаком с фреймворком. Вот семь советов, которые помогут вам изучать Laravel более эффективно. Некоторые из них будут специфичны для Laravel, а другие являются общими для изучения любого языка программирования или фреймворка. Давайте начнём. {{CUT}} == 1. Не начинайте с официальной документации. Серьёзно. == Обычно первое, что читают новички, - это ((https://laravel.ru/docs/ официальная документация Laravel)). Не поймите меня неправильно - документация хороша! Но ожидается, что у вас уже есть знания экосистемы PHP и современных инструментов. Например, первый раздел документации - установка, это не просто "скачать и установить". Вам надо знать, как пользоваться Composer, как пользоваться терминалом или командной строкой, как выполнять команды, как работают веб-сервера и т.д. Это приводит нас ко второму совету... == 2. Сначала изучите PHP, ООП, терминал и Composer == Это может показаться забавным, но я всё чаще встречаю людей, пытающихся изучить Laravel, не зная PHP. Другой похожий пример - те, кто пытаются работать с jQuery, вообще не зная JavaScript. Не обманывайте себя и начните с основ. Чтобы начать изучать любой современный PHP-фреймворк (Laravel, Symfony и т.д.), вы должны хорошо знать PHP и тем более **((ВП: объектно-ориентированное программирование==))**. Все фреймворки написаны по методологии ООП, и вы должны разбираться в классах, объектах, свойствах, методах, зависимостях, типажах и других "ключевых словах". В общем, я советую вам сделать хотя бы один простой проект на чистом PHP без каких-либо фреймворков. Тогда вы лучше поймёте PHP, а это позволит вам использовать внутренние возможности Laravel более эффективно. Также ((https://getcomposer.org/ Composer)) - инструмент, который, по моему мнению, сделал PHP снова великолепным. Знание Composer поможет вам грамотно использовать зависимости Laravel, а это ключевая часть современной разработки на PHP. Ах да, я упомянул **терминал**? Или **командную строку** для ОС Windows. И опять, современные PHP-фреймворки используют команды для многих своих функций: генерация кода, установка библиотек, изменение настроек, запуск развёртываний и т.д. Вам надо знать основы. Это всё вы должны знать **перед** началом работы с Laravel. Теперь это не выглядит так просто? Но давайте продолжим, советы только начались. == 3. Книги, курсы или видео? Бесплатные или платные? == Возможно, это самый важный вопрос: как лучше всего учиться? Это персональный выбор, некоторые лучше читают, а другие предпочитают видео. И это нормально! Решите для себя, как вам удобнее. Информация для изучения должна быть **правильно структурирована**. Вы не можете просто взять случайные статьи или видео из YouTube - это не даст желаемого результата. Вам надо, чтобы автор излагал информацию последовательно, шаг за шагом. Иначе вы можете потерять ход мысли, и не сможете понять последующие уроки. Кстати, это - фундаментальное различие между **бесплатными** и **платными** уроками в сети. Кто-то может сказать, что вы можете изучать программирование при помощи поиска в интернете, потому что в нём огромное количество информации доступно бесплатно. Это отчасти справедливо, но если вы выберете этот путь, то потратите много времени, пытаясь собрать это всё воедино. Часто лучший способ - это платные курсы или книги, потому что информация подготовлена для вас в удобном виде, вам не надо тратить время на поиск. Вот три ресурса, с которых я рекомендую начать: * ((https://amzn.to/2aY1vIU Laravel Up & Running)) – книга Мэтта Штоффера * ((https://laracasts.com/series/laravel-5-from-scratch Laravel from Scratch)) – серия видео-уроков на Laracasts * ((https://code.tutsplus.com/courses/get-started-with-laravel-5 Get Started With Laravel 5)) – курс от Tutsplus == 4. Перестаньте читать, начните писать == Невозможно научиться программировать, если не писать код. Не тратьте слишком много времени на чтение книг или просмотр видео, начните писать код, как только сможете. На самом деле, сразу пробуйте на практике то, что узнали из каждого урока или раздела. В общем, я советую вам попытаться создать **тестовый проект** в течение вашего обучения. Это делает процесс не только более практичным, но ещё и мотивирует. Без правильных целей и желаемых результатов изучать теорию психологически тяжело. А когда вы пишете код, вы сталкиваетесь с трудностями, и у вас появляются вопросы. Преодолевая трудности вы растёте как разработчик и накапливаете знания. == 5. Научитесь использовать Google и StackOverflow == Хотя это и не связано конкретно с Laravel, но это важно. Я поражаюсь тому, как много тем на форумах создано людьми, которые могли "загуглить" ответ за две минуты. Вы умеет пользоваться Google? Например, найдите “Laravel”, исключив из поиска слово “начинающий”, но чтобы результаты были только с сайта Laracasts. Запрос будет выглядеть так: %%(t) laravel -начинающий site:laracasts.com %% Вот как глубоко вы должны погрузиться, чтобы найти необходимую информацию. Таким же образом надо пользоваться и ((https://stackoverflow.com/ StackOverflow)). Их результаты обычно появляются на первых страницах выдачи Google. Вы понимаете, как правильно выбрать ответ на вопрос? Он не всегда самый первый. Вы знаете для какой версии Laravel подходит этот ответ? А теперь это по-прежнему полезная информация? Но надо уметь не только читать форумы, но и правильно задавать вопросы. У многих форумов и сообществ есть своя собственная культура, правила и нормы поведения. Если вы вежливы, терпеливы и уважительны, то у вас больше шансов получить помощь. == 6. Найдите наставника == Самая большая проблема в изучении программирования - решение проблем, когда что-то пошло не так. Лучшее решение этой проблемы - попросить о помощи у кого-нибудь. Я был наставником у нескольких студентов, и они говорили, что без моей помощи не смогли бы решить проблемы и возможно вообще перестали бы учиться. Вот как важна персональная помощь со стороны! Где же найти наставника? В вашем сообществе, будь оно местным или сетевым. В Twitter отличное сообщество разработчиков, и если вы найдёте там кого-то, кто сможет вам помочь, не стесняйтесь и свяжитесь с ним. Сделайте на него ссылку в своём Twitter, подпишитесь на него, а потом найдите его почту и начните разговор. == 7. Не сда-вай-тесь == Как было сказано в предыдущем совете, при столкновении со слишком сложной проблемой, можно легко сдаться и перестать учиться. Возможно это основная причина, почему так много людей начинают учиться, но только некоторые становятся профессиональными разработчиками. Никто не обещает, что будет легко. На пути ждут множество проблем, сложные вопросы, сомнения, и желание выбросить свой компьютер в окно. Я через это прошёл, поверьте. Главное - продолжать, несмотря ни на что. Подходите к процессу творчески, это всегда спасает. И наконец, говоря о постоянном прогрессе, мой последний совет - не делать больших перерывов между обучением. Постоянно изучайте что-то новое, каждую неделю или даже каждый день. Это похоже на тренировки: если вы пропустите одно занятие, то будет сложнее снова войти в ритм. Вот мои советы, надеюсь вы найдёте для себя лучший способ изучения, и, возможно, мы создадим превосходные Laravel-проекты вместе!