Эта заметка будет полезна только новичкам, как в yii2, так и в веб-разработке в целом.
Что такое расширения
Расширения в yii 2.0 — это законченные блоки кода, предназначенные для использования в приложениях yii. Чаще всего, в расширения выносят полезный код, для возможности простого и быстрого повторного использования в других проектах.
Распространение расширений
Большинство расширений для yii2 распространяются в виде пакетов менеджера зависимостей composer. По-умолчанию, composer устанавливает расширения из большого репозитория packagist. Там же удобно искать расширения, и с большой вероятностью, вы найдете там рабочее решение для вашей проблемы.
Что нужно для установки расширений?
Первым делом, нужно установить сам composer
Первый вариант проще. Локальная установка.
Просто копируем исполняемый файл с официального сайта:
curl -sS https://getcomposer.org/installer | php
В случае возникновения проблем, можно воспользоваться следующей командой:
php -r "readfile('https://getcomposer.org/installer');" | php
В результате мы получим исполняемый файл composer.phar в текущем каталоге.
Запуск будет осуществляться командой:
php composer параметры
Второй вариант. Глобальная установка
Скачиваем исполняемый файл и помещаем его в путь, доступный для PATH:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
Теперь запуск возможен из любого места, командой:
composer параметры
Для установки composer под windows обратитесь к официальному руководству.
Установка расширений
В общем случае, для установки нового расширения в приложение, достаточно добавить строку с названием расширения и его версией в раздел require файла composer.json в корне приложения:
"require": { "php": ">=5.4.0", "yiisoft/yii2": "*", "yiisoft/yii2-bootstrap": "*", "yiisoft/yii2-swiftmailer": "*", "yiisoft/yii2-jui": "*", "2amigos/yii2-date-picker-widget": "*", "2amigos/yii2-date-time-picker-widget" : "*", "kartik-v/yii2-icons": "dev-master", "himiklab/yii2-colorbox-widget" : "*", "warrence/yii2-kartikgii": "dev-master", "kartik-v/yii2-mpdf": "@dev", "bower-asset/bootbox": "~4.3.0", "3ch3r46/bootui-datetimepicker": "*" },
Пример этой нужной строки почти всегда есть в описании расширения.
Дальше нужно выполнить команду обновления зависимостей:
[root@localhost basic]# composer update Loading composer repositories with package information Updating dependencies (including re - Installing 3ch3r46/bootui-datetimepicker (1.0.0) Downloading: 100% Writing lock file Generating autoload files
Как видно из результата, новое расширение скачано и установлено.
Этой же командой выполняется обновление всех зависимостей (в том числе и расширений).
Благодаря таким инструментам, как composer, отпадают проблемы поиска и подключения нужных расширений, а так же отслеживания их зависимостей от других.
При большом желании устанавливать расширения вручную, вы можете это сделать, ознакомившись с официальным руководством.
Спасибо за публикацию. Скажите есть простой виртуальный хостинг. Там есть несколько сайтов. То есть директории выглядят так.
public_hml
site1
site2
site3
Есть ли возможность установить yii2 для сайта скажем в директорию site2 и как правильно вернее куда правильно установить компосер?
Спасибо за ответ