Уроки Laravel
Изучение Laravel / #1 — Что такое фреймворк Laravel?
Веб фреймворк Ларавел (Laravel) уже многие годы считается наилучшим PHP фреймворком для разработки сайтов. Он предоставляет готовые шаблонные решения для реализации веб проектов различной сложности. В ходе курса вы познакомитесь с Laravel, создадите полноценный веб сайт, а также выгрузите его на сервер.
Видеоурок
Полезные ссылки:
- Курс по языку PHP ;
- Официальный сайт Laravel ;
- Редактор Atom ;
- Редактор PhpStorm ;
- Локальный сервер MAMP ;
- Пакетный менеджер Composer .
Laravel — это MVC фреймворк для быстрого, удобного и, главное, правильного написания сайтов на языке PHP. Фреймворк обладает большим набором функций, плагинов и шаблонов, которые позволяют воплощать даже самые амбициозные проекты в жизнь.
Веб-фреймворк Laravel имеет открытый код и распространяется абсолютно бесплатно для всех разработчиков. Исходный код проекта можно найти на странице GitHub .
Фреймворк часто удостаиваться различных наград и похвал. К примеру, Laravel получает звание лучшего PHP фреймворка как для корпоративного, так и для личного использования. Популярность фреймворка постоянно растёт:

Laravel стоит использовать хотя бы по той причине, что он позволяет писать функциональный и очень чистый и красивый код. Ведь, если пишешь сам, то точно можно где-то что-то реализовать не особо здорово, а вот через этот фреймворк все получается красиво и правильно.
Laravel позволяет выполнить такие действия, как: Unit тестирование, отслеживание URL адресов, установка безопасности, работа с сессиями и создание системы авторизации, легкая работа с базой данных, работа с почтой, отслеживание ошибок и еще множество других вещей. Все это возможно реализовать и без Laravel, но используя его вы будете использовать уже готовые решения, а также ваш код получится намного проще и меньше, нежели писать все самостоятельно.
План курса
Наш курс предназначен для новичков в данной сфере, кто хочет познакомится с платформой Laravel и создаем сайта на нем. В ходе курса мы займемся разработкой сайта на Ларавел с нуля. Мы изучим все тонкости построения проектов и полностью охватим тему создания сайта на Laravel 5.
К концу курса Laravel вы изучите все основы и будете иметь четкие навыки по созданию своих веб сайтов на основе данной платформы.
Установка Laravel
Перед установкой Laravel вам необходимо выполнить установку пакетного менеджера Composer. Для этого перейдите на их официальный сайт и скопируйте 4 команды для скачивания и установки Composer в проект. Эти команды укажите в терминале находясь в самом проекте.

После установки Composer можно выполнить установку Laravel. Для этого зайдите в проект и откройте терминал. В терминале пропишите команду:
php composer.phar global require laravel/installer
Эта команда позволит установить Laravel глобально в систему. Выполните её лишь один раз и при создании будущих проектов игнорируйте данную команду, не устанавливая Laravel повторно.
Далее необходимо установить Laravel локально внутрь какого-либо проекта. Для этого в терминале пропишите команду:
php composer.phar create-project --prefer-dist laravel/laravel APP_NAME
Здесь APP_NAME это название вашего будущего проекта.
После установки Laravel будет добавлен к вам в проект и вы уже сможете им пользоваться.
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Семь советов для эффективного изучения Laravel
По мере роста сообщества 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-го.
Итак, прошло полгода. За эти полгода было совершено куча ошибок, изучено несколько новых технологий и также потрачено куча времени на обучение. Последнее было, как я сейчас понимаю, уж слишком усердным, уже в январе я начал понимать, что изучаемый мной материал даётся мне с трудом, что, как оказалось, было вызвано перенапряжением, малым количеством сна и слишком маленькими периодами отдыха. Был момент, когда разочаровался в программировании и думал было забить, т.к. уж слишком туго всё шло. Однако, всё исправилось, как только я пару недель отдохнул, вяло изучая вёрстку и 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 недель. Что ж посмотрим! После тебя ждет наверное начало написания своего пет-проекта. Ты знаешь, что это проект очень масштабный, и ты горишь начать его быстрее. Не забывай, что главное это быстрее прийти к своей цели, а не выучить всю веб-разработку. А для этого нужно быть сосредоточенным на своей цели. Не забывай, ради чего ты все это делаешь! Встретимся через год, пожалуйста, смотри только вперед в твое прекрасное будущее и помни дорогих тебе людей!
Молодец! Главное даже в моменты, когда накатывает уныние и нежелание что-либо делать, сжимать кулаки и двигаться дальше. Но не забывай о выгорании и старайся не перетруждаться и нормально отдыхать. Это очень важно.
Спасибо! Жду твоего ответа первого мая!
Изучение Laravel, с чего начать?
День добрый, с пол года назад начал изучать web программирование, начал с основ HTML, CSS, JS и подошел к PHP.
Прочитал учебник Кевин Янк «PHP и mySQL», далее Мэтт Зандстра, PHP объекты, шаблоны и методики программирования.
На втором остановился т.к. он уже тяжелее, решил что лучше будет одновременно с изучение окунутся реальные задачи. Поставил себе Laravel и преступил к созданию своего тестового проекта и тут я понял, что я не чего не понимаю в PHP.
Отсюда вопрос, как лучше продолжать моё обучение?
Возможно зря я взялся за фрейморки и стоит писать свои велосипеды? но работодателям то нужно чтобы я знал фреймворки.
- Вопрос задан более трёх лет назад
- 33422 просмотра
Комментировать
Решения вопроса 1

Специальст широкого профиля
Ну наверное я щас напишу еще раз то что многие уже написали:
1. Обязательно вам нужна голова на плечах.
2. Желание прочитать тонну документации с примерами по PHP
3. Большая кружка для кофе\чая (нужное подчеркнуть)
4. Освежитель для мозгов
5. Умение пользоваться Google.com
6. Cайт с документацией по Laravel
7. Готовность к выполнению кучи рутинных задач для набивания руки.
8. ТЕРПЕНИЕ! ТЕРПЕНИЕ! ТЕРПЕНИЕ! ЗАИНТЕРЕСОВАННОСТЬ!
Ответ написан более трёх лет назад
Нравится 15 1 комментарий
Игорь @corsik Автор вопроса
Это было истиной, особенно пункт 8.
Ответы на вопрос 6

Ларавельщик, витающий в небесах.
Рано имхо. Ларавел прост только если php знаешь. Сделай сначала пару простых сайтов на голом php, граббер пикабу с добавлением своих новостей, например, плюс какой-нибудь бложек или иной парсер. Потом посмотри, как работают разные cms, вордпресс, опенкарт, сделай на них несколько сайтов и напиши пару плагинов для каждого. Пускай они говеные будут, главное чтобы свои функции исполняли. Я лично после голого пхп и нескольких cms потренировался хорошо на опенкарте — у него очень простая для понимания структура, такое сферическое mvc в вакууме для изучения, потом кохану попробовал (она легче ларавела и приложения на ней по структуре похожи на опенкарт, но без уклона в магазины) и только после этого на ларавел перешел. Ларавел хорош, но надо некий базис в голове иметь и опыт, чтобы на нем что-то делать.
Ответ написан более трёх лет назад
Комментировать
Нравится 7 Комментировать
- Попробовать написать свою CMS на PHP с использованием MVC
- Ознакомиться с документацией Laravel (laravel.su/docs/5.0/installation или laravel.com/docs/5.0)
- Просмотреть серию видеороликов (https://laracasts.com/series/laravel-5-fundamentals — необходимы знания английского)
- Написать свою CMS на PHP с использованием Laravel
Ответ написан более трёх лет назад
Комментировать
Нравится 6 Комментировать
web developer
Есть хорошие уроки от нуля до профи по Laravel
https://youtu.be/c_uDG9_2iJA?list=PLBT2g0kDwD_a_MF. там несколько плейлистов по уровням
Те же уроки 18гб. торрент https://nnm-club.me/forum/viewtopic.php?t=1077117
Ответ написан более трёх лет назад
Нравится 2 1 комментарий
Ссылки устарели, можешь дать еще раз, ПЛИЗ.
Кто смотрит ответы на вопрос для себя — amegatron.ru/2014/05/poetapnaya-razrabotka-sajta-n. вот с этого хорошо начать. Просто расписано. Непонятные термины гуглить, проще не нашёл.
Стоит ли учить PHP в 2022 году
IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрезмерное внимание без объективных предпосылок к этому. Все это по итогу влияет на востребованность специалистов по конкретному языку, работающих на конкретной технологии, на определенной зарплатной вилке.
В этой статье я поделюсь своим мнением насчет востребованности PHP, как современного языка программирования – актуален ли он на 2022 год или нет.

Что из себя представляет PHP
Обычно при обсуждении языка программирования приводят его сильные стороны, поэтому я буду следовать традиции и расскажу, почему PHP – это клевый и современный язык программирования.
Отличная производительность. Команда CORE PHP разработчиков выполнила гигантскую работу по оптимизации PHP и сделала его более производительным. Так, например, в своей статье Дмитрий Стогов приводит бенчмарк для версии PHP 7.0, где демонстрируется, что PHP обходит по производительности своих конкурентов, таких как Python и Ruby, и даже не сильно отстает от Java с выключенным JIT.

В версии PHP 8.0 завезли нативный JIT, что вывело его производительность на уровень лучших языков программирования. Поэтому я уже давно с недоумением смотрю на людей, которые говорят, что PHP медленный. Когда-то это было так, но сейчас он обходит своих конкурентов по производительности.

Эффективный синтаксис языка. Хотя PHP часто критикуют за то, что он сделан академически неправильно, у него есть одно безусловное преимущество: его универсальные конструкции достаточно эффективны, чтобы на них решать большую часть задач и не тратить время на выбор подходящей структуры данных. В итоге достигается большая скорость разработки, а это именно тот фактор, который решает, будет ли проект успешен или нет. Как бы программисты не рассуждали о том, что на определенном языке невозможно сделать хороший проект, а на другом можно, все же ключевой показатель – это Time-To-Market. И вот тут PHP – король!
Разумеется, в PHP работа со строками сделана не так круто, как в Python, а конструкция switch/case не насколько богата, как в том же Swift, но, во-первых, работа в эту сторону ведется, а во-вторых, возможностей современного PHP уже достаточно для решения большинства задач в элегантной манере. Как говорится, CodeWars вам в помощь!
При этом, если нужно оптимизировать какой-то участок кода, можно воспользоваться SPL, где уже сосредоточиться на том, что именно вы хотите сделать.
Современные фреймворки. Хаос в мире PHP, когда каждый школьник писал своей велосипед непонятного качества, подходит к концу. На рынке определился устойчивый стек технологий, знание которого ожидают от разработчика. В данном случае для разработки малых и средних проектов принято использовать Laravel, а если вам нужно сделать полноценную корпоративную систему, то лучше выбрать Symfony. Для работы с базой принято использовать Doctrine, который является фактически реализацией Hibernate из экосистемы Java. Это все – современные решения, которые впитывают в себя лучшие практики и активно развиваются большим комьюнити разработчиков. Работа с этими инструментами ведется удобно и эффективно.
Конечно, на рынке есть множество CMS систем, которые также эволюционируют и развиваются. И более того, как раз на поддержку таких систем можно найти первую работу и начать строить свою карьеру в IT. Но нужно понимать, что эпоха, когда у каждой компании есть сайт , заканчивается. Теперь принято использовать либо социальные сети, либо сайты построенные на конструкторах (wix/shopify/bigcommerce/tilda и так далее). Кстати, все эти конструкторы написаны на PHP и оцениваются в миллиарды долларов. Неплохо так для синего слоника!
Удобный туллинг. Разработка проекта – это не только написание бизнес логики, но и поддержание кода проекта в надлежащим виде. Для этого в мире PHP есть отличные инструменты: дебага (xdebug), оптимизация кода (blackFire),написание тестов (phpUnit), автоматический формат кода под стандарты (code_sniffer), а также статические анализаторы кода (PHPStan) и миграции на новые версии PHP и популярных фреймворков (rector).
Есть весь туллинг, который нужен современному разработчику, чтобы писать максимально надежный код надлежащего качества с минимальными тратами времени. Поэтому качество современных проектов на PHP становится гораздо выше, чем оно было раньше. И более того, я дам смелое замечание, что качество проектов на PHP становится выше, чем проектов на Python и Ruby в силу эволюции языка в условную Java с батарейками.
Направленная специализация. Все внимание CORE PHP разработчиков и PHP-комьюнити сосредоточено на том, чтобы сделать PHP максимально удобным и эффективным инструментом написания бекенда. Именно поэтому современные PHP-фреймворки и библиотеки оказываются лучше, чем аналоги на других языках программирования. Когда есть фокус и понятный вектор развития, можно сэкономить много времени и сил на второстепенные вещи.
Конечно, именно поэтому PHP нельзя назвать в полной мере языком общего назначения, ибо для других целей, кроме бека его редко используют. Но вы уже должны для себя решить: вам нужна призрачная универсальность или максимальная эффективность? Тем более специализация первична для разработчика, язык вторичен.
Учебные материалы и профессиональная литература. С релизом PHP 7.0 язык перешел в категорию клевых языков программирования, поэтому для него стали писать книги и записывать курсы настоящие профессионалы своего дела. Поэтому сейчас можно найти множество хороших онлайн-курсов на PHP, бесплатных туториалов на YouTube и книг по PHP с Laravel и Symfony.
Определенная часть материалов все еще доступна только на английском языке, но уже лишь вопрос времени, когда это все издадут на русском. Я сделал краткие обзоры современных книг по PHP, вы можете найти их в моем профиле.
Развитое сообщество разработчиков. PHP развивает и продвигает сплоченная группа людей, верящих в светлое будущее PHP и делающих каждый день его лучше и популярней. Значительная часть этих ребят – русскоязычные ребята, которые открыты к диалогу и обмену мнениями.
Более того, у PHP есть THE PHP FOUNDATION, который готов спонсировать работу талантливых разработчиков, уверенных в своих силах и желающих сделать PHP еще более лучшим языком, чем он есть сейчас.
Поэтому если есть желание сделать работу, от которой будет зависеть работа тысяч PHP-разработчиков – never give up on your dreams. Это возможно независимо от возраста!

Что по ситуации на рынке с PHP
После того, как мы определились с тем, что PHP – клевый и производительный язык программирования, поговорим о ситуации на рынке: на что может рассчитывать человек, который посвятит свое время работе на PHP. Ведь именно от того, на каких проектах будет работать человек, зависит его карьера и финансовые возможности.
Достаточно быстрый старт карьеры на PHP. Если мы посмотрим на Python или Ruby, то обнаружим, что начальные позиции требуют достаточно высокого уровня компетенции разработчиков. И причина заключается в том, что на Ruby и Python не пишут «стандартные» проекты. Каждый проект на Python (Ruby) представляет собой кастом. Без коммерческого опыта, если вы не являетесь выпускником топового вуза, попасть на такой проект достаточно сложно.
На PHP ситуация совершенно другая. Тут большое количество стандартных проектов, на которых можно начинать свою карьеру и набивать руку, печатая значок доллара в PhpStorm. Да, это будут не самые передовые и интересные проекты, но вы начнете свою карьеру, пока на другом стеке вам нужно было бы все еще бежать за поездом it-индустрии. А дальше нужно лишь добрать знания и опыт и можно переходить на кастом (Symfony или Laravel).
Гораздо лучше уже работать в индустрии, получать коммерческий опыт и учиться на живых проектах, чем сидеть дома и пытаться самостоятельно вытянуть себя на позицию крепкого джуна. Сделать это достаточно сложно, гораздо лучше развиваться в рабочем коллективе.
Огромное количество досягаемых компаний. Когда идет обсуждение вакансий, многие приводят цифры, что условно на Django 60к вакансий, а на Laravel только 11к. Но если посмотреть географию этих вакансий и прикинуть ваши шансы устроиться на них без серьезного опыта и хорошего английского языка, окажется, что в СНГ на Laravel вакансий больше,чем на Django. Ну и естественно ваши шансы также выше!
Вам же нужно устроиться на работу, начать получать опыт, зарабатывать деньги, а не считать потенциальные вакансии где-нибудь в Сиэтле, на которые вы сможете претендовать лет через 5 минимум. Поэтому с PHP все очень хорошо в плане вакансий, гораздо лучше, чем на многих других стеках.
Компании с хорошим продуктом. На PHP уже давно делают не только сайты визитки и форумы, но и качественные продукты, которыми каждый день пользуется огромная аудитория людей. Более того, эти компании представлены в различных сферах, поэтому PHP-разработчики могут поработать с разными продуктами.
Совсем недавно, я привел характеристики топовых компаний и предложил список компаний на PHP-стеке, которые считаю отличными. Ознакомиться со статьей вы можете по ссылке — «Tier-1 компании на рынке PHP в РФ«.
Работа с возражениями по PHP
Выше мы обсудили, почему стоит выбрать PHP в качестве своего стека, и я привел аргументы в пользу старта карьеры на PHP. Теперь я постараюсь ответить на самые популярные возражения против того, чтобы учить PHP, которые приводят его оппоненты.
Низкие зарплаты на PHP. Да, действительно, разработчики на PHP в целом получают на 15-25% меньше, чем получают разработчики на Java, Go или тот же Swift. Но такая разница достигается за счет того, что на PHP много дешевых вакансий на поддержку не самых сложных CMS систем, а на том же Java топовые вакансии уходят куда-то в космос по деньгам и по сложности.
Если мы берем в целом middle разработчика на PHP (Symfony) и middle Java (Spring) разработчика, то разница в зарплате будет незначительной. При этом дорасти до middle уровня на PHP можно гораздо быстрее и приятнее, чем это делать на Java.
Поэтому если вы выбираете сложные и интересные проекты на PHP, а не ограничиваете себя поддержкой CMS систем, зарплаты на PHP показывают хороший уровень. Да и на CMS системах можно зарабатывать очень хорошие деньги, если работать на зарубежный рынок с условной Magento.
Если мы посмотрим обзор зарплат на хабре, то можно достаточно быстро заметить, что в общем-то различия между стеками не такие уж и большие. На php можно зарабатывать хорошие деньги в хорошей компании.

Разработчики на PHP уходят на GO. Да, действительно, в больших компаниях определенную часть логики монолитов на PHP переводят на GO. Поэтому некоторые PHP-разработчики учат GO, чтобы реализовать этот переход. Однако, это не говорит о том, что компании полностью отказываются от PHP, они лишь переносят определенную часть логики на более подходящую технологию для высоконагруженных микросервисов. Так, например, на PHP-конференции разработчики шутили, что хотя на GO получается хорошо, все же основную часть логики они пишут на PHP, так как это банально быстрее и эффективнее, чем делать на GO.
Поэтому нет никакого массового бегства PHP-разработчиков на GO. Есть разумное понимание, что нужно писать на PHP, а что писать на GO. От PHP никто не отказывается.
Плохие проекты на PHP. Да, действительно, на PHP, в силу наличия огромного числа различных CMS, есть множество проектов сомнительного качества. Но это не говорит о том, что все проекты на PHP плохие! Просто на том же Python или Java нет способа легко и быстро поднять несложные сайты, а на PHP эта возможность есть.
Если бы кто-то создал на Python удобную CMS систему (Django CMS не считаем, ибо она просто не может тягаться по удобству с CMS на PHP), то на Python также было много проектов низкого уровня.
Поэтому, если выбирать хорошие проекты на PHP, то сложность проекта и его качество будут сопоставимы с проектами на других языках.
PHP никому не нужен. Не нужно путать маркетинговый мусор и реальную ситуацию на рынке. То, что из каждого утюга говорят про Python и рекламируют его курсы, а про PHP никто ничего не говорит, никак не отражает реальную ситуацию на рынке востребованности той или иной технологии. Так, например, в своей статье «Сколько на самом деле вакансий на Python в веб-разработке (на примере Москвы)» я показал, что у нас чисто веб-вакансий на Symfony и Laravel больше, чем веб-вакансий на Python.
У PHP хорошая востребованность на рынке, можно достаточно легко найти хорошие вакансии. То, что язык не считается хайповым, не говорит о том, что он никому не нужен, он просто не хайповый и ничего больше.
Презрение к PHP в IT-индустрии. Мнение, что на PHP пишут плохие проекты плохие программисты появились в IT-индустрии тогда, когда действительно на PHP писалось много плохих проектов не самыми опытные программистами. И это происходило по той причине, что PHP был настолько прост и удобен, что многое прощал молодым разработчикам. И в этом в не было ничего плохого!
С тех пор прошло уже много времени, PHP развился в мощный и эффективный язык, который позволяет писать код надлежащего качества с правильной архитектурой. И это делается уже гораздо проще и лучше, чем на других стеках.
Однако, многие, кто продолжает критиковать PHP, застряли в прошлом и воспроизводят свой далекий опыт по работе с PHP. Это уже не имеет никакого отношения к реальности, но люди редко просто так отказываются от своих предубеждений. Поэтому просто нужно продолжать работать и своими проектами показывать, что PHP стал лучше!

PHP скоро умрет. Этому не суждено сбыться в ближайшем будущем. PHP занимает уникальную нишу на рынке, которую в свое время пытались отобрать Python, Ruby, Node.js и .Net Core, но все потерпели крах. Поэтому, пока язык развивается, пока на нем стартуют новые проекты, пока бизнес выбирает PHP, с ним все будет хорошо.
В своей статье «Потрясающее будущее PHP-стека для карьеры« я описал причину, по которым PHP – перспективный и актуальный стек. И у меня нет причин считать, что я ошибаюсь.
Почему не стоит учить PHP
После того, как я высказал свои аргументы против основных возражений против PHP, я хотел бы рассказать о реальных причинах, когда PHP не является оптимальным выбором. Нужно хорошо осознавать, что у всех технологий есть свои особенности и слабости.
Миграция в Северную Америку в топовую IT-компанию. PHP имеет хорошую популярность в СНГ и Европе. PHP также широко востребован для написания проектов средней сложности в США и Канаде. Также иногда в Северной Америке на нем пишут топовые проекты (тот же Facebook). Однако, если мы берем топовые компании Кремниевой Долины, то в большинстве из них не будет PHP. Это особенности рынка США и их нужно учитывать, если у вас была мечта переехать в США и устроиться в Microsoft или Google.
Исключительно backend. PHP имеет четкую специализацию по написанию backend для проектов разной сложности. Поэтому если вы хотите делать игры, писать мобильные приложения, заниматься computer vision, ML или какими-то другими сферами, то PHP вам не подойдет по той причине, что вы просто не сможете это сделать.
Максимальный доход, как разработчик. Если у вас есть цель получать максимальный доход, работая разработчиком (не свой бизнес, не свои проекты, не руководящая позиция, а вот именно как разработчик), то пока PHP не может предложить топовые зарплаты. На рынке существует множество вакансий с хорошим уровнем оплаты (максимально приближенным к топовым), но если вот прямо нужен топ, то это скорее Java, GO или Swift в определенных компаниях. Но тут уже каждый для себя выбирает, что подходит конкретно ему.
Стоит ли учить PHP: Итоги
PHP – это современный и эффективный язык программирования, который имеет уникальную нишу на рынке. Возможностей языка и экосистемы PHP достаточно для написания проектов самого разного уровня. На PHP много вакансий на рынке, и он востребован для написания новых проектов, что говорит о хороших перспективах для языка в будущем. PHP поддерживается большим числом людей, поэтому нет повода считать, что с ним будет что-то не так.
PHP – это отличный язык для старта своей карьеры в IT-индустрии и развития себя как востребованный и высокопрофессиональный разработчик. Праздник жизни будет продолжаться вместе с PHP, и 2022 год не станет исключением.
