Laravel — масштабный PHP фреймворк, который отлично подойдет для повышения навыков разработки на данном языке и будет хорошей альтернативой не менее популярному фреймворку Yii2 или более простому и универсальному решению в виде CMS WordPress.
Сразу стоит отметить, что laravel development это не о простых сайтиках, блогах или примитивных интернет-магазинах. Это решение для крупного бизнеса, который в состоянии содержать и всячески удерживать штатного специалиста.
Фреймворк — это всегда свободный полет фантазий и разбирать (исправлять) поделки преемнику может оказаться не так-то и просто, чем переделать готовое решение Woo Commerce на WordPress.
Laravel — это в первую очередь опытный разработчик на PHP, которого не всегда легко найти т.к. данный язык теряет популярность и уступает место тем же React.js, Node.js и им подобным.
Бизнес, который изначально запускается на фреймворках прекрасно знает, чего хочет и какие задачи будет решать их проект. Поэтому десять раз подумайте, чего вы хотите. Возможно, ваши задачи можно решить на готовых CMS платформах. Пусть даже придется переплачивать за ресурсы сервера.
А те, кто смогут постигнуть «Дзен» (Laravel) получат огромные возможности и невероятно гибкую платформу для решения абсолютно всех задач.
Первоначальная настройка Laravel
Ларавель имеет свою экосистему, множество компонентов и для удобного кодинга, с которыми однозначно стоит ознакомиться.
IDE
Здесь не подойдет обычный редактор. Обязательно нужно установить и разобраться с IDE. Одним из наиболее популярных редакторов является PhpStorm. Можно также использовать Atom и даже Sublime Text с Notepad++, но это будет неэффективно и бессмысленно.
Composer
Еще одним важным компонентом будет Composer. Он нужен для установки, обновления и добавления различных компонентов Laravel. Это, в принципе, очень полезная и удобная штука для большинства разработчиков — не только для данного фреймворка.
Homestead
Open Server здесь уже не нужен, хоть он и позволяет проводить отладку и тестирование на лету, но все же.
Для подобных задач разработчики фреймворка рекомендуют использовать аналог операционной системы.
Homestead — это образ операционной системы Linux Ubuntu, где уже установлено все необходимое. Ее можно установить на виртуальную машину и вести разработку оттуда.
Подобный подход может показаться неудобным и это правда. С опытом можно будет вернуться на привычный Open Server и кодить по уже готовым наработкам не нагружая систему лишними процессами.
Встроенные возможности тестирования
Laravel напичкан системами тестирования отовсюду. В фреймворк встроены, как feature-тесты на проверку функциональности проекта и отладки отдельных частей проекта, так и unit-тесты, позволяющие пройтись по цепочке функций и понять, на каком этапе логика пошла в другом направлении.
Можно протестировать практически все, вот небольшой пример возможностей встроенного тестирования:
- создать тестовую базу данных;
- проверить заполнение HTML-форм;
- протестировать корректность сессий
- тесты отправки писем;
- тесты загрузки файлов;
Сборка готового Laravel проекта
После тестирования сюрпризы не заканчиваются т.к. настает время превращать черновик в продакшн.
Для этих задач создан Laravel Mix, который работает на основе Webpack. Он собирает вместе все JS и CSS-файлы, а также, умеет создавать версии этих файлов. Mix поддерживает целый набор языков: CSS, JS, Less, Saas, Stylus, PostCSS.
На практике версии файлов позволяют решать проблемы кэширования, когда дизайн изменен, но браузер отказывается его менять, подгружая старые файлы.
На примере всего одной универсально строки с короткой переменной фреймворк сам определит и пропишет путь к обновленному файлу:
Шаблон проекта будет иметь стандартный для всех ситуаций вид:
<link rel="stylesheet" href="{{ mix('/css/main.css') }}">
<link rel="stylesheet" href="{{ mix('/css/main.js') }}">
После сборки он превращается в набор случайных символов:
<link href="/css/main.289df33c3c42c47df3b16.css" rel="stylesheet">
<link href="/css/main.289df33c3c42c47df3b16.js" rel="stylesheet">
Это лишь малая часть того, что позволяет данный фреймворк. Более подробную и глубокую информацию придется искать уже самостоятельно на профильных ресурсах
Комментарии