[recovery mode] 5 самых нужных дополнений к Laravel 4

imageКогда заходит речь о разработке, мы все пытаемся найти более эффективные и быстрые способы программирования, порой не замечая, что кто-то уже сталкивался с похожей задачей, и изящно её реализовал. Что вы скажете, если мы сократим на ¾ наш говнокод, всего лишь добавив несколько простых и эффективных зависимостей?

Для тех, кто не знает что такое Laravel 4 — это PHP фреймворк для быстрой разработки. Этот фреймворк с открытым исходным кодом на github, сделан для настоящих ремесленников веб-программирования такими же ремесленниками. Как говорится, «для программистов от программистов». Но статья не о прелестях Laravel, и не о его преимуществах перед другими фреймворками, об этом я с удовольствием расскажу в других статьях. Здесь я расскажу о пяти наиболее значимых и важных дополнений к Laravel 4, которые сэкономят вам драгоценные минуты кодинга.

Это невероятно простая, удобная в использовании, и в то же время масштабная по своим возможностям система аутентификации. Laravel 4 имеет встроенную систему, но её возможности скудны. Sentinel «из коробки» умеет управлять группами пользователей, ролями, сбросом пароля и напоминания, регистрация и авторизация, нативный (родной) фасад к Laravel 4.

В отличие от Sentry (предшествующая разработка Cartalyst’а) позволяет в качестве атрибутов логина передавать не только сам логин, но и любые другие поля, работать с несколькими системами разрешений сразу, и т.д. Мало того, модуль полностью кастомизируется, и легко дополняется, что делает его еще более гибким. Буду откровенным, я не понимаю, почему этот пакет не входит в базовый набор Laravel 4!

2. «way/generators»:»~2.0» — Экономьте время с умом, проектируя схемы баз данных. Jeffery Ways, если быть откровенным, икона php-кодеров. Он создал колоссальное количетсво open-source проектов, и кучу бесплатных видео курсов по использованию Laravel 4 и 5. Я не знаю кем был Jeffery до того, как я начал использовать Laravel, но сейчас я отслеживаю все его работы, мысли и идеи. Ways generators представляет собой целую библиотеку artisan команд, таких как, например, generate: migration которая создаёт файл миграции с уже кастомизированной схемой, generate: resource который создаёт контроллер, модель, и даже предсавления, по стандартам REST! Теперь быстрое проектирование REST контроллеров стало реальностью.

Codesleeve’s Asset Pipeline придаёт всю мощь RoR (Ruby on Rails) в мир PHP. SaSS и ScSS очень популярны среди разработчиков, и уже стали обязательным стандартом для фронтэнда. Однако, и scss и sass нуждается в компиляции. Asset Pipeline не только компилирует ваш код, но и минифицирует его. Этот модуль работает также с javascript, и позволит избавиться от назойливых импортов многочисленных js файлов вашего проекта.

Как уже было сказано, Jeffery Ways настоящий мужик! Он перетащил валидацию из контроллера в модель, и теперь можно просто применять метод save () в модели. А этот модуль будет проверять, есть ли какие либо ошибки errors () в то же время. А код в контроллере становится чистым.

public function store () { $dog = new Dog (Input: all ());

if ($dog→save ()) { return Redirect: route ('dogs.index'); }

return Redirect: back ()→withInput ()→withErrors ($dog→getErrors ()); } Продолжение идеи MVC, ведь если приглядеться внимательно, Laravel нарушает некоторые конвенции парадигмы, а с этим модулем жизнь становится лучше, а фреймворк обретает еще большую мощь по сравнению со многими другими.5. «codesleeve/laravel-stapler» — Незаменимый помощник при загрузках файлов Я убеждён, что все сталкивались с ситуацией, когда клиенты просили при загрузке файлов делать превью этих файлов. Ну конечно сталкивались. И не всегда используются изящные решения. Но что, если мы выкинем из головы необходимость манипуляций с изображениями, отслеживание местоположения файлов, удаление файлов с диска, когда запись удаляется из базы данных? Этот модуль позволит сохранить фокус на разработке, так как все вышеперечисленное он умеет делать действительно великолепно! Всё что нужно — запустить команду artisan, добавить параметры изображений, потом просто → save (), и всё. Остальное сделает этот модуль.

Я надеюсь, что эта статья приоткрыла глаза на метод ленивого программирования, так я называю метод «неповторения изобретения велосипедов», а использование тех технологий, которые позволят не отвлекаясь на рутинные и однообразные долгие действия быстро разрабатывать прототипы, или даже продакшн. Спасибо за внимание, оставайтесь с нами!

Вольный перевод статьи revoltvisual.com/journal/5-must-have-laravel-4-packages.В оригинале первым пунктом у автора был обзор Sentry (https://cartalyst.com/manual/sentry/2.1#laravel-4), но на данный момент времени более актуальной разработкой всё-таки является Sentinel.

© Habrahabr.ru