laravel без знания php
Семь советов для эффективного изучения Laravel
По мере роста сообщества Laravel появляется всё больше обучающих ресурсов. Это здорово! Но как выбрать из них лучшее? На какой стоит потратить своё время? Этим вопросом задаются те, кто не знаком с фреймворком. Вот семь советов, которые помогут вам изучать Laravel более эффективно.
Некоторые из них будут специфичны для Laravel, а другие являются общими для изучения любого языка программирования или фреймворка. Давайте начнём.
1. Не начинайте с официальной документации. Серьёзно.
Обычно первое, что читают новички, — это официальная документация Laravel. Не поймите меня неправильно — документация хороша! Но ожидается, что у вас уже есть знания экосистемы PHP и современных инструментов.
2. Сначала изучите PHP, ООП, терминал и Composer
Это может показаться забавным, но я всё чаще встречаю людей, пытающихся изучить Laravel, не зная PHP. Другой похожий пример — те, кто пытаются работать с jQuery, вообще не зная JavaScript. Не обманывайте себя и начните с основ.
В общем, я советую вам сделать хотя бы один простой проект на чистом PHP без каких-либо фреймворков. Тогда вы лучше поймёте PHP, а это позволит вам использовать внутренние возможности Laravel более эффективно.
Также Composer — инструмент, который, по моему мнению, сделал PHP снова великолепным. Знание Composer поможет вам грамотно использовать зависимости Laravel, а это ключевая часть современной разработки на PHP.
Ах да, я упомянул терминал? Или командную строку для ОС Windows. И опять, современные PHP-фреймворки используют команды для многих своих функций: генерация кода, установка библиотек, изменение настроек, запуск развёртываний и т.д. Вам надо знать основы.
Это всё вы должны знать перед началом работы с Laravel. Теперь это не выглядит так просто? Но давайте продолжим, советы только начались.
3. Книги, курсы или видео? Бесплатные или платные?
Возможно, это самый важный вопрос: как лучше всего учиться? Это персональный выбор, некоторые лучше читают, а другие предпочитают видео. И это нормально! Решите для себя, как вам удобнее.
Информация для изучения должна быть правильно структурирована. Вы не можете просто взять случайные статьи или видео из YouTube — это не даст желаемого результата. Вам надо, чтобы автор излагал информацию последовательно, шаг за шагом. Иначе вы можете потерять ход мысли, и не сможете понять последующие уроки.
Кстати, это — фундаментальное различие между бесплатными и платными уроками в сети. Кто-то может сказать, что вы можете изучать программирование при помощи поиска в интернете, потому что в нём огромное количество информации доступно бесплатно. Это отчасти справедливо, но если вы выберете этот путь, то потратите много времени, пытаясь собрать это всё воедино. Часто лучший способ — это платные курсы или книги, потому что информация подготовлена для вас в удобном виде, вам не надо тратить время на поиск.
Вот три ресурса, с которых я рекомендую начать:
4. Перестаньте читать, начните писать
Невозможно научиться программировать, если не писать код. Не тратьте слишком много времени на чтение книг или просмотр видео, начните писать код, как только сможете. На самом деле, сразу пробуйте на практике то, что узнали из каждого урока или раздела.
В общем, я советую вам попытаться создать тестовый проект в течение вашего обучения. Это делает процесс не только более практичным, но ещё и мотивирует. Без правильных целей и желаемых результатов изучать теорию психологически тяжело.
А когда вы пишете код, вы сталкиваетесь с трудностями, и у вас появляются вопросы. Преодолевая трудности вы растёте как разработчик и накапливаете знания.
5. Научитесь использовать Google и StackOverflow
Хотя это и не связано конкретно с Laravel, но это важно. Я поражаюсь тому, как много тем на форумах создано людьми, которые могли «загуглить» ответ за две минуты.
Вы умеет пользоваться Google? Например, найдите “Laravel”, исключив из поиска слово “начинающий”, но чтобы результаты были только с сайта Laracasts. Запрос будет выглядеть так:
Вот как глубоко вы должны погрузиться, чтобы найти необходимую информацию.
Таким же образом надо пользоваться и StackOverflow. Их результаты обычно появляются на первых страницах выдачи Google. Вы понимаете, как правильно выбрать ответ на вопрос? Он не всегда самый первый. Вы знаете для какой версии Laravel подходит этот ответ? А теперь это по-прежнему полезная информация?
Но надо уметь не только читать форумы, но и правильно задавать вопросы. У многих форумов и сообществ есть своя собственная культура, правила и нормы поведения. Если вы вежливы, терпеливы и уважительны, то у вас больше шансов получить помощь.
6. Найдите наставника
Самая большая проблема в изучении программирования — решение проблем, когда что-то пошло не так. Лучшее решение этой проблемы — попросить о помощи у кого-нибудь.
Я был наставником у нескольких студентов, и они говорили, что без моей помощи не смогли бы решить проблемы и возможно вообще перестали бы учиться. Вот как важна персональная помощь со стороны!
Где же найти наставника? В вашем сообществе, будь оно местным или сетевым. В Twitter отличное сообщество разработчиков, и если вы найдёте там кого-то, кто сможет вам помочь, не стесняйтесь и свяжитесь с ним. Сделайте на него ссылку в своём Twitter, подпишитесь на него, а потом найдите его почту и начните разговор.
7. Не сда-вай-тесь
Как было сказано в предыдущем совете, при столкновении со слишком сложной проблемой, можно легко сдаться и перестать учиться. Возможно это основная причина, почему так много людей начинают учиться, но только некоторые становятся профессиональными разработчиками. Никто не обещает, что будет легко. На пути ждут множество проблем, сложные вопросы, сомнения, и желание выбросить свой компьютер в окно. Я через это прошёл, поверьте. Главное — продолжать, несмотря ни на что. Подходите к процессу творчески, это всегда спасает.
И наконец, говоря о постоянном прогрессе, мой последний совет — не делать больших перерывов между обучением. Постоянно изучайте что-то новое, каждую неделю или даже каждый день. Это похоже на тренировки: если вы пропустите одно занятие, то будет сложнее снова войти в ритм.
Вот мои советы, надеюсь вы найдёте для себя лучший способ изучения, и, возможно, мы создадим превосходные Laravel-проекты вместе!
Комментарии (22)
Шестой пункт (про наставника) выглядит притянутым за уши — есть люди, которым наставник противопоказан и они гораздо лучше во всём разбираются сами. Я сам такой. А остальные пункты дельные и, на мой взгляд, подходят для каждого.
Присоединяюсь.
И от себя:
Изучайте сопутствующие технологии, хотя бы на базовом уровне. Жизнь потом все равно заставит).
В смысле прыжков по фасадам, которые передают вызовы в другие классы? С этим ничего не сделать, это идеология ядра 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-го.
Итак, прошло полгода. За эти полгода было совершено куча ошибок, изучено несколько новых технологий и также потрачено куча времени на обучение. Последнее было, как я сейчас понимаю, уж слишком усердным, уже в январе я начал понимать, что изучаемый мной материал даётся мне с трудом, что, как оказалось, было вызвано перенапряжением, малым количеством сна и слишком маленькими периодами отдыха. Был момент, когда разочаровался в программировании и думал было забить, т.к. уж слишком туго всё шло. Однако, всё исправилось, как только я пару недель отдохнул, вяло изучая вёрстку и js, начал больше спать и отдыхать, и вместо 6-8 часов учёбы в день, начал учиться где-то по 3-4. Насчёт ларавела — друзья, никогда не изучайте фреймворк до того, как основательно изучите язык, на котором он основан. Логично, да? В тот момент я, балбес, так не думал. В-общем, пришёл к тому, что мог на ларавеле написать то, что на чистом php вызывало у меня ступор (я-то думал, что неплохо его знаю. Как же я ошибался!). По работе — откликался на кучу вакансий и тестовые, которые мне слали, нужно было написать на чистом php, что, как я указал выше, я не мог сделать, но мог их написать на ларавеле. Тогда и понял, что что-то делаю не так. Поэтому оставил ларавел и учу php. На данный момент пишу свой фреймворк, в учебых целях, конечно. Отпишусь 1 ноября. Всем удачи. Как я понял, главное в изучении — последовательность и регулярность. И не забывайте отдыхать.
Неожиданно что кто то рядом такой же «сумашедший» как и я)
Статистика: Символов — 6 726/5 697 без пробелов (6 688/5 664 без кода):, слов — 1 025
Руководство по Laravel 8 для начинающих: как создать своё первое приложение
В этом руководстве по Laravel для начинающих мы расскажем, как установить Laravel и создать своё первое приложение на нём. В этом руководстве мы простым языком объясним все необходимые понятия, чтобы вы могли легко изучить Laravel и лучше его понять.
Введение
Laravel – это элегантный, выразительный и гибкий PHP-фреймворк с упором на чистый код и скорость. Он позиционирует себя как «PHP-фреймворк для веб-мастеров». Это бесплатный PHP-фреймворк с открытым исходным кодом, созданный Тейлором Отвелом на основе архитектурной модели Model View Controller (MVC).
Создание веб-приложения с нуля может быть сложной задачей, особенно если вы новичок. Простое веб-приложение содержит различные маленькие и большие компоненты, и вам, возможно, надоест создавать эти компоненты каждый раз, когда вы разрабатываете приложение. Это скучный и повторяющийся процесс, и нет никакого смысла изобретать велосипед. Вот тогда вам на помощь и приходит фреймворк Laravel.
Фреймворк Laravel предоставляет различные PHP-библиотеки и вспомогательные функции. Он обеспечивает общие функции и логику, чтобы упростить и ускорить разработку, а также помочь вам сосредоточиться на более важных вещах.
Сначала придется уделить немного времени обучению, особенно если вы новичок и не имеете опыта работы с какими-либо веб-фреймворками. Но поверьте мне, если вы наловчитесь, вы не только полюбите, но и пристраститесь к Laravel. Этот фреймворк поддерживает творчество в разработке. Он использует слово «Веб-мастер», чтобы указать на креатив, скрытый в сердце разработчика. Результат — эффективное приложение с меньшим количеством строк и хорошо продуманным кодом.
Чтобы вам было легче изучить Laravel, я написал это руководство специально для неопытной аудитории. Так вам будет проще следовать этому руководству и изучать Laravel.
Что вы должны знать перед использованием этого руководства по Laravel?
Установка и настройка
Laravel предлагает различные способы установки на Windows или Mac. Лучший и самый простой способ установить Laravel – через Composer. Composer — это менеджер зависимостей для PHP, который вы можете установить на свой веб-сервер.
Требования для установки Laravel 8
Перед установкой Laravel на вашу локальную платформу (Localhost) вам необходимо установить следующие программы:
Пошаговая установка Laravel на локальном хосте:
Шаги для пользователей Mac:
Шаги для пользователей Windows:
В нашем примере выполняем:
Руководство по созданию простого CRUD-приложения для составления списка дел на Laravel
Лучший способ изучить программирование – практиковаться. Поэтому здесь мы будем изучать основы Laravel, разрабатывая простое веб-приложение, которое будет выполнять перечисленные ниже функции. В рамках этого руководства по Laravel:
Изучение структуры папок
Laravel — приложения следуют шаблону проектирования архитектуры MVC (Model-View-Controller).
После того как вы установили Composer и создали свое первое веб-приложение на основе Laravel, вы могли заметить папку приложения с разными файлами и папками внутри. Я знаю, если вы новичок, у вас может возникнуть много вопросов о том, для чего нужны эти папки и т. д. и т. п.
Давайте разберём некоторые из них
Пошаговое создание вашего первого приложения на Laravel
Создайте ваш проект
Если вы не создали свой проект в разделе установки, создайте его сейчас, выполнив следующую команду:
Настройте базу данных
Для нашего приложения нам понадобится база данных, поэтому лучше всего создать её в первую очередь. Laravel поддерживает четыре СУБД:
В этом файле вы найдете код, похожий на следующий:
Замените все шесть строк, приведенные выше на одну строку, указанную ниже, то есть измените значение db_connection на sqlite и удалите остальные строки db, как здесь:
Создайте аутентификацию
Есть два способа добавить Jetstream в ваше новое Laravel-приложение. Если вы еще не создали проект, добавьте флажок
для новой команды Laravel:
Jetstream в Laravel поддерживает два стека
Liveware или Inerta. Поскольку мы хотим, чтобы этот проект был простым, давайте воспользуемся Livewire и установим Jetstream с помощью следующей команды:
На данном этапе мы закончили с настройкой и можем приступать непосредственно к созданию приложения.
Миграции
Первый шаг в разработке любого приложения – это создание базы данных. Laravel предлагает отличный способ разработки таблиц и схемы базы данных, а также даёт возможность легко переносить их в разные системы, которые называются «Миграции».
Миграции используются, чтобы создавать, изменять, а также делиться схемой базы данных приложения. Они используются с конструктором схем Laravel, чтобы упростить создание схемы базы данных. В создании миграций для вашей базы данных есть много преимуществ. Вы сможете легко перестроить структуру своей базы данных, используя файлы миграции в производственной и любой другой системе.
Ничего страшного, если это объяснение показалось вам непонятным. Поверьте, скоро у вас всё получится. Просто читайте дальше.
Выполните следующую команду:
Вы найдёте только что созданную миграцию в папке /database/migrations.
Теперь давайте добавим еще два столбца в таблицу задач, отредактировав только что созданный файл миграции.
Теперь мы закончили с созданием схемы базы данных. Чтобы использовать эту схему для создания таблиц в базе данных, выполните следующую команду. Команда migrate обновит изменения, внесенные в схему, в базе данных.
Eloquent – это ORM (система объектно-реляционного отображения) для Laravel, которая позволяет свободно применять active-record для работы с базой данных. Каждая таблица базы данных может иметь соответствующую модель Eloquent. Модель Eloquent представляет объекты базы данных. Она может использоваться для запроса данных, а также для вставки и обновления данных в таблице. Итак, давайте с помощью команды make: model создадим модель для нашей таблицы задач.
Эта команда создаст модель задачи в папке приложения, как показано ниже.
Отношение «один-ко-многим»
Отношения используются для соединения таблиц. Eloquent даёт возможность связать свои модели через отношения Eloquent. Отношение «один ко многим» означает, что одна модель владеет несколькими объемами другой модели. В нашем примере: у одного пользователя может быть много задач, поэтому между таблицей пользователей и таблицей задач существует связь «один ко многим». Отношения Eloquent очень легко определить и использовать. И преимущество заключается в том, что вам вообще не нужно запускать запросы. Eloquent свяжет модели между собой, поэтому вам придется использовать только функции.
Давайте отредактируем модель задачи и модель пользователя, чтобы создать отношения Eloquent.
Модель задачи (файл task.php находится в app/task.php):
Модель пользователя (файл user.php находится в app/user.php):
Команда Tinker в Artisan (необязательно)
В Laravel существует интерфейс командной строки, известный как Artisan. Artisan содержит различные команды, и среди них – Tinker, которую мы собираемся обсудить. Tinker позволяет вам взаимодействовать со всем вашим Laravel- приложением через окно консоли без необходимости доступа к веб-интерфейсу. Основным преимуществом Tinker является то, что вы можете тестировать отношения, отлаживать данные и получать доступ к Eloquent ORM, задачам, тестам, событиям и т. д. Поэтому мы также будем использовать команду Tinker в нашем руководстве по Laravel. Допустим, вы зарегистрировались в приложении и создали две задачи. Теперь вы проверяете эти задачи прямо в окне консоли, как показано ниже:
Tinker напрямую обращается к базе данных, так что это отличный инструмент для тестирования функций, а также данных.
Контроллеры
Контроллеры используются для распределения трафика между представлениями и моделями. Они могут сгруппировать несколько логических схем обработки запросов в один класс. Таким образом, как правило, они получают весь запрос и, исходя из своей логики, перенаправляют или возвращают соответствующие данные. В нашем примере мы уже подходим к интерфейсу, поэтому мы должны создать контроллеры, через которые сможем обрабатывать запросы, поступающие в наше приложение. Выполните следующую команду, чтобы создать контроллер для задач:
Таким образом, будет создан TasksController, который вы сможете найти в папке app / Http / Controllers.
Маршрутизация
Маршрутизация означает принятие запроса и его перенаправление к соответствующей функции. Нашему приложению понадобится пять маршрутов, которые будут выполнять следующие действия:
Laravel Jetstream добавляет вход и регистрацию, поэтому теперь нам нужно позаботиться только о трех маршрутах.
Laravel предоставляет различные файлы маршрутов внутри папки / routes для разных случаев использования. Например, настройка маршрутизации для API будет находиться в файле « /routes/api.php », а настройка маршрутизации для нашего веб-приложения будет находиться в «/routes/web.php».
Здесь мы внесли два изменения:
Представления – шаблоны Blade
Теперь в папке / resources / views создайте файлы add.blade.php и edit.blade.php с разметкой, приведенной ниже.
В файле dashboard.blade.php также замените весь код на тот, который приведен выше. Представления мы отредактируем позже, после определения функций нашего контроллера с помощью привязки модели к маршруту.
Привязка модели к маршруту (Route-Model Binding)
В Laravel есть множество удивительных функций, которые делают веб-разработку простой, чистой и менее трудоемкой. Одна из наиболее заметных функций подобного рода – привязка модели к маршруту (Route-Model Binding). Это механизм для внедрения экземпляра модели в ваши маршруты. Это значит, вы можете передавать объект модели в маршруты, а также в представления по маршрутам. Эта функция поможет вам легко получить значения объекта в представлении. Ничего страшного, если это объяснение кажется непонятным. Со временем вы все поймёте.
Теперь давайте добавим в TasksController.php функции, обрабатывающие указанные выше маршруты. Они должны выглядеть так, как показано ниже:
Примечание : Не забудьте добавить «use App \ Models \ Task;» иначе вы получите сообщение об ошибке «Класс не найден».
Редактируем представления
Теперь функции контроллера настроены и возвращают соответствующие представления с прикрепленными объектами модели. Итак, теперь нужно отредактировать наши представления, чтобы они, если нужно, показывали форму и необходимые данные, используя объекты модели, переданные по маршрутам.
Страница, отображающая все задачи
Откройте файл dashboard.blade.php и отредактируйте его следующим образом:
Механизм шаблонов Blade позволяет нам использовать PHP внутри HTML, не заключая его в « ».
Страница, добавляющая новую задачу
Откройте файл add.blade.php и отредактируйте его следующим образом:
<
Страница, редактирующая задачу
Откройте файл edit.blade.php и отредактируйте его, как показано ниже:
После редактирования этого представления мы собираем все части воедино, так что теперь сможем протестировать своё приложение.
Сначала зарегистрируйтесь, затем войдите в систему, а потом проверьте, можете ли вы создать задачу, отредактировать задачу и удалить задачу.
Запускаем проект на Localhost
Чтобы запустить проект, запустите в окне терминала команду php artisan serve. Убедитесь, что вы находитесь в корне вашего приложения в терминале.
Что делать с этим проектом дальше:
Существует множество вещей, которые можно добавить в этот проект, например:
Заключение
В этом длинном руководстве по Laravel мы узнали, как установить Laravel, настроить базу данных, а также такие основные вещи, как маршруты, модели, представления и контроллеры, а также создали ваше первое приложение на Laravel — приложение для составления списка задач.
Надеюсь, что это руководство по Laravel помогло вам понять основы Laravel, а также мотивировало вас учиться дальше. Пожалуйста, поделитесь своим мнением о Laravel и об этом руководстве. А также вы можете делиться в комментариях к этой статье вашими вопросами и проблемами. Будем рады вам помочь. Спасибо.
Пожалуйста, оставьте свои отзывы по текущей теме материала. За комментарии, подписки, дизлайки, отклики, лайки низкий вам поклон!