как вручную подключить стороннюю библиотеку в 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'),         <---- где используется алиас из ключа и почему путь к папке указывается повторно, если в предыдущем файле уже было указано?
  1. Пожалуйста, объясните каждую строчку кода.
  2. Почему в двух местах указывается путь к папке?
  3. Как Yii определяет какой именно файл из папки src надо брать? Есть библиотеки, у которых в папке src лежат не файлы, а подпапки. В нужной мне библиотеке https://github.com/t0k4rt/phpqrcode вообще нет папки src
  4. Нужно ли в подключаемой библиотеке прописывать по файлам namespace, если оно там не прописано?
  5. Что конкретно выполняет каждый из этих двух файлов?
  6. Чем отличается "сторонняя библиотека" от "сторонняя библиотека для Yii"? В частности вот это - "сторонняя библиотека", а вот это - "сторонняя библиотека для Yii2".
  7. В указанных библиотеках класс 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);

Крутил-крутил, не находит класс и всё.

Буду очень признателен за подробный ответ. Если он будет ещё и на примере одной из указанных библиотек, то будет вообще супер.


Ответы (0 шт):