Что такое Laravel пакеты?

Что такое Laravel пакеты?

От автора: как PHP разработчикам вам должно быть интересно работать с фреймворками. Фреймворки стараются облегчить процесс разработки путем упрощения распространенных практик в большинстве проектов таких, как пакеты, модули, плагины и даже компоненты. И в данной статье, мы ответим на вопрос, что такое Laravel пакеты?

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

Существует два типа пакетов; одни независимы от фреймворков (автономные), а другие разработаны под конкретные фреймворки. Этот урок мы полностью посвятим теме Laravel пакетов.

Перед созданием пакетов необходимо изучить менеджеры пакетов. PEAR хорошо известный PHP менеджер пакетов, используется редко, хотя и доступен для бесплатного скачивания. Почему? Он заставляет устанавливать все системные пакеты, а не только необходимые в проекте. Composer стал приемником PEAR.

Что такое пакеты Laravel?

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

И действительно, с помощью пакетов можно с легкостью группировать связный код. Пакеты по своей сути очень схожи с компонентами. Важно отметить, что исходный код Laravel это «пакет», который Taylor Otwell называет DEFAULT_BUNDLE.

Одно из основных преимуществ Laravel пакетов в том, что с их помощью мы получаем доступ ко всем возможностям фреймворка веб-приложения, в том числе и маршрутизация, миграции, тесты, просмотры и множество других полезных функций. Другая важная особенность пакетов это принцип DRY (Не повторяйся). Создав пакет часто используемого кода, вы экономите ресурсы и повышаете производительность. Давайте познакомимся с некоторыми полезными пакетами Laravel. Пакеты, которые использую я:

Generators: Больше всего в CakePHP мне нравится Bake. Самое подходящее, что я смог найти в других фреймворках.

Ardent: Самопроверяющие смарт модели для Eloquent ORM.

IDE helper: Пакет исправляет проблему с автоподстановкой кода в PhpStorm путем создания dockblock файла, из которого IDE будет брать подстановки.

Sayakb: Отличная капча.

Behat: С помощью пакета можно протестировать веб-приложение по BDD методике.

Artdarek: Отличный OAuth враппер.

Mcamara: Простая локализация Laravel приложения.

Возможно, вы найдете требуемые пакеты в packalyst. Packalyst создает простой и социальный реестр пакетов для Laravel.

Как создать свой собственный пакеты Laravel

Создадим простой пакет аутентификации для Laravel 5.0. Первым делом, для нового пакета нам потребуется файл composer.json:

Класс Service Provider это просто файл, задающий основные настройки пакета. На данный момент Service Provider должен выглядить так (файл src/MyAuthServiceProvider.php):

Добавьте service provider в файл config/app.php:

Теперь Laravel знает о пакете. Вы можете задаться вопросом, почему я не добавит алиасы в app.php. Лично я добавляю алиасы в метод регистрации класса service provider, а не в конфиг файл Laravel. Об этом я расскажу чуть позже. Теперь в файле src/MyAuth.php создайте простой PHP класс MyAuth.

Класс аутентификации должен связываться с IoC Container через провайдер пакета. Но перед этим создайте класс Facade. Это поможет использовать методы класса, не создавая новый экземпляр, а также можно будет воспользоваться всеми преимуществами, описанными выше. Подобно тому, как класс MyAuth создал новый каталог Facades в директории Facades, создайте новый PHP класс с названием src/MyAuthFacade.php:

После всего осталось только загрузить пакет. У меня это так:

Как видно, я связал класс MyAuth с IoC Container. Теперь стало легко использовать класс MyAuth:

Должно сгенерироваться сообщение «Welcome log-in succeeded». Если хотите, то можно зарегистрировать свой пакет в Packagist. Пакет MyAuth был зарегистрирован и теперь может быть с легкостью добавлен в Laravel командой:

Заключение

Если вы ищите пример популярного Laravel пакета, можно посмотреть на . Это был быстрый обзор, как создать пакет для Laravel 5. Как вы заметили, ничего сложного в создании пакетов нет. Данный инструмент крайне важен для упрощения и ускорения процесса разработки.

Автор: Alireza Rahmani Khalili

Источник: //code.tutsplus.com/

Редакция: Команда webformyself.

Метки: ,

Похожие статьи:

Комментарии Вконтакте: