Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Расширения Yii 2

Расширения

Расширения - это распространяемые программные пакеты, специально разработанные для использования в приложениях Yii и содержащие готовые функции. Например, расширение yiisoft/yii2-debug добавляет удобную отладочную панель в нижнюю часть каждой страницы вашего приложения, чтобы помочь вам разобраться в том, как генерируются страницы.



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

Info: Мы используем термин "расширение" для специфичных для Yii программных пакетов. Программные пакеты общего назначения, которые могут быть использованы без Yii, мы будем называть "пакет" или "библиотека".

Использование расширений

Чтобы использовать расширение, вам необходимо установить его. Большинство расширений распространяются как пакеты Composer, которые могут быть установлены посредством следующих двух шагов:

  1. Отредактируйте файл вашего приложения composer.json, указав, какие расширения (пакеты Composer) вы хотите установить.
  2. Выполните команду php composer.phar install, чтобы установить указанные расширения.

Обратите внимание, что вам может потребоваться установить Composer, если у вас его нет.

По умолчанию, Composer устанавливает пакеты, зарегистрированные на Packagist - крупнейшем репозитории для пакетов Composer с открытым исходным кодом. Вы также можете создать свой репозиторий и настроить Composer для его использования. Это полезно, если вы разрабатываете закрытые расширения и хотите использовать их в нескольких своих проектах.

Расширения, установленные Composer'ом, хранятся в директории BasePath/vendor, где BasePath - базовая директория приложения. Composer - это менеджер зависимостей, и поэтому после установки пакета он также установит все зависимые пакеты.

Например, для установки расширения yiisoft/yii2-imagine нужно отредактировать ваш composer.json как показано далее:

{
    // ...

    "require": {
        // ... другие зависимости

        "yiisoft/yii2-imagine": "~2.0.0"
    }
}

После установки вы можете увидеть директорию yiisoft/yii2-imagine, находящуюся по пути BasePath/vendor. Также вы можете увидеть директорию imagine/imagine, которая содержит зависимый пакет.

Info: yiisoft/yii2-imagine является базовым расширением, которое разрабатывает и поддерживает команда разработчиков Yii. Все базовые расширения размещены на Packagist и называются yiisoft/yii2-xyz, где xyz является названием расширения.

Теперь вы можете использовать установленное расширение как часть вашего приложения. Следующий пример показывает, как вы можете использовать класс yii\imagine\Image, который содержится в расширении yiisoft/yii2-imagine.

use Yii;
use yii\imagine\Image;

// генерация миниатюры изображения
Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
    ->save(Yii::getAlias('@runtime/thumb-test-image.jpg'), ['quality' => 50]);

Info: Классы расширений автоматически загружаются автозагрузчиком классов Yii.

Ручная установка расширений

В некоторых редких случаях вы можете захотеть установить некоторые расширения вручную, а не полагаться на Composer. Чтобы сделать это, вы должны

  1. загрузить архив с файлами расширения и распаковать его в директорию vendor.
  2. установить автозагрузчики классов, предоставляемые расширениями, если таковые имеются.
  3. загрузить и установить все зависимые расширения в соответствии с инструкциями.

Если расширение не имеет автозагрузчика классов, но следует стандарту PSR-4, то вы можете использовать автозагрузчик классов, предоставленный Yii для загрузки классов расширений. Всё, что вам нужно сделать, это объявить псевдоним для корневого каталога расширения. Например, если вы установили расширение в директорию vendor/mycompany/myext и классы расширения находятся в пространстве имён myext, то вы можете включить следующий код в конфигурацию вашего приложения:

[
    'aliases' => [
        '@myext' => '@vendor/mycompany/myext',
    ],
]

Базовые расширения

Yii предоставляет следующие базовые расширения, которые разрабатывает и поддерживает команда разработчиков Yii. Они все зарегистрированы на Packagist и могут быть легко установлены, как описано в подразделе Использование расширений.

  • yiisoft/yii2-apidoc: предоставляет расширяемый и высокопроизводительный генератор документации API. Оно также используется для генерации документации API фреймворка.
  • yiisoft/yii2-authclient: предоставляет набор наиболее часто используемых клиентов авторизации, таких, как Facebook OAuth2 клиент и GitHub OAuth2 клиент.
  • yiisoft/yii2-bootstrap: предоставляет набор виджетов, которые являются компонентами и плагинами Bootstrap.
  • yiisoft/yii2-codeception: предоставляет поддержку тестирования, основанного на Codeception.
  • yiisoft/yii2-debug: предоставляет поддержку отладки в приложениях Yii. Когда это расширение используется, отладочная панель появится в нижней части каждой страницы. Это расширение также предоставляет набор отдельных страниц для отображения более подробной отладочной информации.
  • yiisoft/yii2-elasticsearch: предоставляет поддержку использования Elasticsearch. Оно включает в себя поддержку основных поисковых запросов, а также реализует шаблон проектирования Active Record, который позволяет хранить записи Active Record в Elasticsearch.
  • yiisoft/yii2-faker: предоставляет поддержку использования Faker для генерации фиктивных данных.
  • yiisoft/yii2-gii: предоставляет веб-интерфейс для генерации кода, который является весьма расширяемым и может быть использован для быстрой генерации моделей, форм, модулей, CRUD и т.д.
  • yiisoft/yii2-httpclient: предоставляет HTTP клиент.
  • yiisoft/yii2-imagine: предоставляет часто используемые функции для работы с изображениями, основанные на библиотеке Imagine.
  • yiisoft/yii2-jui: предоставляет набор виджетов, основанный на взаимодействиях и виджетах JQuery UI.
  • yiisoft/yii2-mongodb: предоставляет поддержку использования MongoDB. Оно включает такие возможности, как базовые запросы, Active Record, миграции, кэширование, генерация кода и т.д.
  • yiisoft/yii2-redis: предоставляет поддержку использования redis. Оно включает такие возможности, как базовые запросы, Active Record, кэширование и т.д.
  • yiisoft/yii2-smarty: предоставляет шаблонизатор, основанный на Smarty.
  • yiisoft/yii2-sphinx: предоставляет поддержку использования Sphinx. Оно включает такие возможности, как базовые запросы, Active Record, генерация кода и т.д.
  • yiisoft/yii2-swiftmailer: предоставляет возможности отправки email, основанные на swiftmailer.
  • yiisoft/yii2-twig: предоставляет шаблонизатор, основанный на Twig.

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Log in to comment

Обсуждение этой статьи

ИНФОРМАЦИЯ: Вы оставите комментарий к этой статье как 'Гость'