Laravel 5.1: разработка пакетa на примере ACL

Данная статья является первой и вступительной частью о разработке пакетов для Laravel. В этой (первой части) я постараюсь показать как достаточно просто можно создать пакет. При этом, постараюсь показать это на примере создания пакета для управления правами доступа (ACL — Access Control List). В данной части буду создавать структуру пакета, а в дальнейшем расширять.

Если вы загляните в папку vendor то увидите что пакеты «разложены» в виде имя-поставщика/название-пакета (vendor-name/package-name). Все это для удобства публикации ваших пакетов в публичных источниках типа packagist.org. Т.к. этот пакет мы еще только создаем и он еще не готов к публикации то выполним

где packages — папка для разрабатываемых пакетов, Bitw — так я себя обозвал как поставщика и Acl — это название пакета. Так мы создадим папку нашего пакета и перейдем в нее.

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

и ответим на некоторые вопросы. В моем случае получилось так

2015-09-16 00-54-56 1. andrew@iMac-Andrew: ~ www acl.dev packages Bitw Acl (mc)

Читать…

Laravel 5: Socialite — все примеры настроек в одном месте

В Laravel 5.0 появился замечательный инструмент для авторизации через социальные сети — Socialite, но на офсайте приведен пример настройки только для GitHub. В это небольшой статье я хочу показать как настроить все сервисы которые идут по умолчанию с данным инструментом. Приступим!

Для начала нам необходимо установить данный пакет

После установки Socialite зарегистрируйте сервис-провайдер Laravel\Socialite\SocialiteServiceProvider в конфигурационном файле config/app.php

Также добавьте фасад Socialite в массив aliases конфигурации:

Установка на этом закончена. Приступим к конфигурации.

Примечание: Т.к. на момент написания данной статьи было доступно только четыре сервиса (GitHub, Google, Facebook и Twitter), то в примерах будут показаны только они.

Читать…

Мелкие полезности Laravel: Request или Input

Приветствую. Всем приходится отправлять данные от клиента и обрабатывать их на сервере.
Например отправляем данные с формы

и обрабатываем контроллером

В данном случае мы как бы плодим две схожие сущности в одном методе и все из-за того что $request->get(‘space.min’) не вернет нам правильного значения.

И вот тут нам поможет $request->input(key).
Заменив \Input::get(‘space.min’) на $request->input(‘space.min’) и \Input::get(‘space.max’) на $request->input(‘space.max’) мы получим тот же результат не обращаюсь с статичному классу Input.