Генерируем ссылки на https

Т.к. практически все сейчас переходят на безопасный протокол (HTTPS) то для многих остро встает вопрос как в Laravel с помощью route() генерировать ссылки с правильным указанием протокола. Есть два варианта решения данной проблемы.

Первый и на мой взгляд не очень хороший: генерировать ссылки как релятивные

Читать…

Получение всех объявленных правил в Gate (Getting all the rules announced at the Gate)


Когда вы разрабатываете приложение вам обязательно потребуется проверка того, что можно пользователю, а чего нельзя. В Laravel для этого используется Gate. Все в нем замечательно, кроме… того, что нельзя получить список всего, что вы в него добавили. И сейчас я вам покажу пример маленького хелпера, который вам с этим поможет.

Читать…

InfyOm Laravel Generator : Laravel Scaffold, CRUD, API Generator

InfyOm Laravel Generator which supports Laravel API, Scaffold, CRUD, Test Case, Swagger Docs and Auth generator. Using this generator developer can generator Laravel Test Cases, Swagger Docs, Swagger annotations, API Documentation (API Docs), CRUD From Existing table and Scaffold from existing database.

Источник: InfyOm Laravel Generator : Laravel Scaffold, CRUD, API Generator

Laravel 5.1: разработка пакетa на примере ACL. Часть 3

rulesВ этой части мы добавим регистрацию и авторизацию, а так же инструмент для присвоения ролей пользователям. Авторизацию и регистрацию мы реализуем практически по инструкции с официального сайта, но с небольшими дополнениями. Для начала давайте создадим основной макет (из корня проекта)

Читать…

Laravel 5.1: разработка пакетa на примере ACL. Часть 2

6Прошу прощения за задержку продолжения. Навалилось много дел… Но сейчас не о них. Продолжим!

Собственно пакеты мы создавать научились, давайте теперь приступим к разработке именно ACL. В первую очередь создадим две миграции.

php artisan make:migration create_roles_table --path=packages/Bitw/Acl/database/migrations и  php artisan make:migration create_users_roles_table --path=packages/Bitw/Acl/database/migrations

Напомню, что Bitw/Acl это мое название «поставщика» и название пакета. У себя вы можете использовать свое.

Читать…

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.

Laravel 5 и страницы ошибок

laravelДо выхода релиза 5 версии Laravel осталось недолго и я начал изучать возможности новой версии. Первое что мне захотелось попробовать, это указание своей 404 станицы (а в дальнейшем и других страниц с ошибками). Реализация по 4 версии выдала ошибку и тут пришлось углубится в изучение.

Пробегаясь взглядом по папкам приложения сразу была замечена папка app/Exceptions и файл Handler.php. Это и дало направление куда «копать».

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

Читать…