Laravel — пожалуй, лучшее, что случалось в PHP сообществе! Девиз этого фреймворка — «The PHP Framework For Web Artisans», что можно перевести как «PHP фреймворк для вэб-ремесленников». И это максимально точно описывает его концепцию. Вы просто разрабатываете приложение или сайт полостью сосредотачиваясь на создании продукта, всё остальное на себя берёт Laravel.

Фреймворк интуитивно понятен и user-friendly к разработчику. В основе фреймворка лежат так называемые Symfony Components — компоненты другого фреймворка — Симфони, первая версия которого вышла 22 октября 2005.

Laravel — лучший PHP фреймворк!

Laravel вышел 11 июня 2011 и быстро стал популярен за счёт использования уже проверенных в бою симфони-компонент и более удобной работе с ними. В отличии от Symfony, Laravel интуитивно понятен и многие вещи можно реализовывать даже не заглядывая в документацию. Создатель фреймворка Taylor Otwell прочитал ваши мысли и создал такую архитектуру, которая наиболее актуальна в современном мире вэб-разработки.

Laravel это не только фреймворк, но и огромное количество дополнительных сервисов объединённых в единую экосистему. Например, Forge — специальный хостинг для ваших приложений и сайтов. Homestead, Envoyer — простая и удобная система для zero downtime деплоя в production, Horizon — админка для мониторинга Redis, Spark, StyleCI, Statamic и многие другие сервисы упростят разработку приложений на Laravel.

Если бы я разрабатывал фреймворк для веб-сайтов, то он бы был очень сильно похож на Ларавел, даже если бы я не знал о его существовании.

Самоучитель и уроки Laravel

Здесь будут приведены ссылки на статьи и видео для новичков и продвинутых разработчиков. Список пополняется. Присылайте свои материалы для размещения!

Для новичков

В данной подборке собраны статьи

Админки

Обзор компонентов позволяющих легко и просто создать бэкофис для приложении, в простонародии называемыми админками.

CMS

Обзор всевозможных систем управления содержимым (Content Management System).

Пакеты и библиотеки

Пакеты и компоненты созданные специально для Laravel, либо способы адаптации библиотек под этот фреймворк.

Продвинутый уровень

Работа с ядром фреймворка, переопределение базовых свойств и компонент.

Прочее

Сравнение с другими PHP фреймворками

В своей весовой категории Laravel вне конкуренции по возможностям. Аналогичный функционал предоставляют фреймворки Symfony и Yii, однако они более громозки, требуют чтения огромного количества документации и большего времени на разработку одного и того же функционала. Однако, он не значительно проигрывает им по производительности.

Сравнение PHP фреймворков по количеству запросов в секунду

Сравнение PHP фреймворков по потреблению памяти

Сравнение PHP фреймворков по времени выполнения запроса

С полным отчётом по сравнению фреймворков можно ознакомиться здесь.

Однако, у Laravel есть киллер-фича — легковесный аналог Lumen, микрофреймворк, который в любой момент можно проапгрейдить до Laravel или установить часть его компонентов.

Для каких целей не подойдёт Laravel?

К сожалению, Ларавел плохо подходит для highload-проектов, т.к. ядро фреймворка достаточно тяжёлое и его инициализация может занимать больше времени, чем полезный функционал самого приложения.

Также он не очень хорошо подходит для разработки консольных приложений и демонов по той же причине, хотя во фреймворке присутствуют компоненты для их создания. Даже для выполнения одной маленькой cli-команды будет грузиться всё ядро и инициализироваться все компоненты задействованные в приложении.

Сомнительным решением станет также разработка REST API и тому подобных сервисов, хотя бы по факту того, что что из коробки этот PHP-фреймворк не содержит компонент для удобной их реализации.

Нет, никто делать этого не запрещает, однако, приложения критичные к ресурсам и производительности лучше разрабатывать на других фреймворках или вообще на других более быстрых языках. Для создания прототипов, MVP и PoC таких систем Laravel отлично подойдёт. Но для сурового продакшена будет требовать в раз больше мощностей, чем приложения написанные на легковесных фреймворках.

Laravel для начинающих и чайников

Вам не придётся читать большое количество документации или книг, чтобы начать создавать сайты на Laravel. Достаточно пары дней чтобы с ноля создать свой небольшой вэб-проект, ознакомляясь с документацией по мере возникновения вопросов. Концепция фреймворка такова, что разработчику нужно думать только о логике самого приложения не беспокоясь о базах данных, средствах кеширования, хранении файлов и пользовательских сессиях.

Благодаря наличию множества фасадов легко реализуется абстрагирование от конкретных реализаций работы с тем или иным хранилищем. Всего одной строчкой в конфигурации можно перевести приложение с MySql на Postgres, с Memcache на Redis, а хранение файлов с локального хранилище на распределённые сервера Amazon. И т.п. Например, получить данные из быстрого кеша можно сделать так:

$geo = \Cache::tags(['geo'])->remember($ip, 60 * 24 * 7, function() use ($SxGeoHttp) {
    return $SxGeoHttp->getCityFull();
});

Ещё одна приятная вещь в Laravel — Fluent Interface, подход в архитектуре, благодаря которому можно строить цепочки вызовов, что делает код легко читаемым, а его написание в IDE становится максимально быстрым. Например, сделать запрос в БД можно таким образом:

$items = Like::query()->with('likeable')->orderByDesc('created_at')->whereUserId($id)->limit(13)->get();

Можно много что ещё сказать, но лучше 1 раз попробовать самому, чем 10 раз прочитать о чужом опыте. Начинайте прямо сейчас!