как вручную подключить стороннюю библиотеку в yii2
Установка, через композер меня принципиально не устраивает. Не понимаю, как кодеров может устраивать ситуация, когда не понятно, что и куда ставится. Меня это бесит, но то такое...
Вот куски кода с аналогичным подключением другой библиотеки. Файл extensions
'kartik-v/yii2-builder' => <---- где используется этот ключ?
array(
'name' => 'kartik-v/yii2-builder', <---- где используется это имя?
'version' => '9999999-dev',
'alias' =>
array(
'@kartik/builder' => $vendorDir . '/kartik-v/yii2-builder/src', <---- где используются эти ключ и значение?
),
),
и файл autoload_psr4
'kartik\\builder\\' => array($vendorDir . '/kartik-v/yii2-builder/src'), <---- где используется алиас из ключа и почему путь к папке указывается повторно, если в предыдущем файле уже было указано?
- Пожалуйста, объясните каждую строчку кода.
- Почему в двух местах указывается путь к папке?
- Как Yii определяет какой именно файл из папки src надо брать? Есть библиотеки, у которых в папке src лежат не файлы, а подпапки. В нужной мне библиотеке https://github.com/t0k4rt/phpqrcode вообще нет папки src
- Нужно ли в подключаемой библиотеке прописывать по файлам namespace, если оно там не прописано?
- Что конкретно выполняет каждый из этих двух файлов?
- Чем отличается "сторонняя библиотека" от "сторонняя библиотека для Yii"? В частности вот это - "сторонняя библиотека", а вот это - "сторонняя библиотека для Yii2".
- В указанных библиотеках класс QRcode и другие дублируются в разных файлах. Как однозначно указать путь к нужному файлу и соответственно классу?
Вот так
include(Yii::getAlias('@vendor').'/t0k4rt/phpqrcode/qrlib.php');
QRcode::png("ку-ку", 'test.png', "L", 6, 4);
у меня работает, но я хочу
use t0k4rt\phpqrcode\QRcode;
QRcode::png("ку-ку", 'test.png', "L", 6, 4);
Крутил-крутил, не находит класс и всё.
Буду очень признателен за подробный ответ. Если он будет ещё и на примере одной из указанных библиотек, то будет вообще супер.