Когда заходит речь о разработке, мы все пытаемся найти более эффективные и быстрые способы программирования, порой не замечая, что кто-то уже сталкивался с похожей задачей, и изящно её реализовал. Что вы скажете, если мы сократим на 3/4 наш говнокод, всего лишь добавив несколько простых и эффективных зависимостей?
Для тех, кто не знает что такое 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(), и всё. Остальное сделает этот модуль.
Я надеюсь, что эта статья приоткрыла глаза на метод ленивого программирования, так я называю метод «неповторения изобретения велосипедов», а использование тех технологий, которые позволят не отвлекаясь на рутинные и однообразные долгие действия быстро разрабатывать прототипы, или даже продакшн. Спасибо за внимание, оставайтесь с нами!
Вольный перевод статьи http://ift.tt/1vFnqKt.
В оригинале первым пунктом у автора был обзор Sentry (http://ift.tt/12bETk5), но на данный момент времени более актуальной разработкой всё-таки является Sentinel.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий