Установка composer
Для начала необходимо установить сам компосер. Если у вас ОС windows и opsenServer, то в нем уже компосер установлен и готов к работе, если же нет, то устанавливаем его как описано здесь: Установка Composer на Windows. Если же вы используете linux, то вам сюда: Установка composer глобально для Linux/Unix/OSX
Настраиваем автозагрузку пакетов для Yii Framrwork
После или перед тем как вы загрузите требуемый вам и вашему проекту пакет (пакеты) нужно обеспечить автозагрузку пакета (пакетов) в проекте. Так как composer будет складывать все пакеты в папку /vendor необходимо включить эту папку в автозагрузку. Для этого необходимо внести некоторые изменения в код Yii Framework, а именно добавить код:
require __DIR__ . '/vendor/autoload.php';
В следующие файлы: index.php, protected/yiic.php, protected/tests/bootstrap.php.
Есть также альтернативный метод подключения автозагрузки, в начале файла protected/config/main.php добавляем:
require_once( dirname(__FILE__) . '/../../vendor/autoload.php');
Скрываем файлы и папки composer'а от лишних глаз
Добавляем следующий код в корневой .htaccess чтобы запретить доступ к /vendor, composer.phar, composer.json, composer.lock и перенаправить запрос на index.php для этого добавляем следующий код (.htaccess):
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} vendor/ [OR]
RewriteCond %{REQUEST_FILENAME} composer.phar [OR]
RewriteCond %{REQUEST_FILENAME} composer.json [OR]
RewriteCond %{REQUEST_FILENAME} composer.lock
RewriteRule . index.php
Загружаем пакет с помощью composer
Для загрузки требуемого пакета выполняем команду (обычно эти команды описаны в инструкции к пакету):
php ./composer.phar require packegeName
или
composer require packegeName
Все, наслаждаемся работой Yii1 и composer.
Пример загрузки пакета через composer в Yii1 и работа с ним
Пример #1
И так, возьмем любой пакет для тестов, первое что мне попалось - это Endroid QR Code (https://packagist.org/packages/endroid/qrcode). Открываем консоль, переходим в корень проекта и выполняем команду установки:
composer require endroid/qrcode
Ждем пока все будет скачано, а затем открываем любое представление (view) или действие (action), добавляем код из инструкции:
<?php
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\QrCode;
use Symfony\Component\HttpFoundation\Response;
$qrCode = new QrCode('Composer + Yii | Кодер.укр');
$qrCode->setSize(300);
$qrCode
->setWriterByName('png')
->setMargin(10)
->setEncoding('UTF-8')
->setErrorCorrectionLevel(ErrorCorrectionLevel::LOW)
->setValidateResult(false);
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
$qrCode->writeFile(__DIR__.'/qrcode.png');
$response = new Response($qrCode->writeString(), Response::HTTP_OK, ['Content-Type' => $qrCode->getContentType()]);
И получаем рабочее расширение в нашем проекте на Yii Framework.
Пример #2
Для чистоты эксперимента возьмем еще один (второй попавшийся) пакет (https://github.com/dompdf/dompdf) и установим его:
composer require dompdf/dompdf
И заставим работать как и предыдущий. Открываем любое представление (view) или действие (action), добавляем код из инструкции:
<?php
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml('Composer + Yii | Кодер.укр');
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();
Запускаем и наслаждаемся)
devreadwrite.com

Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
У меня так только адекватно стало работать на Apache-2.4-x64
Ответить