Использование нового композитора для установки библиотек в проекте Yii2

Я уже установил шаблон Yii2 Advanced через архив и уже сделал половину своего приложения, но теперь я хочу установить некоторую библиотеку, которую можно установить только через композитор, поэтому я также установил композитор, но теперь как я могу установить библиотеку для своего yii2 проект с использованием этого композитора?


person Pandu Pratama Nur    schedule 04.01.2016    source источник


Ответы (3)


Запустите команду:

composer global require "fxp/composer-asset-plugin:~1.1.1"

из руководства по установке (http://www.yiiframework.com/doc-2.0/guide-start-installation.html#installing-via-composer), чтобы получить пакет bower и npm через Composer, затем создайте файл composer.json, пример чистой расширенной установки шаблона:

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Application Template",
    "keywords": ["yii2", "framework", "advanced", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "dev",
    "prefer-stable" : true,
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*",
    },
    "config": {
        "process-timeout": 1800
    },
    "extra": {
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}
person stig-js    schedule 04.01.2016
comment
тогда как я могу проверить, связан ли мой проект yii с композитором? - person Pandu Pratama Nur; 04.01.2016
comment
я просто знаю и проверяю это, но между моим проектом и вашим примером есть различия, в вашем примере есть эта командная строка с минимальной стабильностью: dev, preference-stable : true, но в моем просто минимальная стабильность: стабильная, это нормально ? - person Pandu Pratama Nur; 04.01.2016

введите здесь описание изображения

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

person Pandu Pratama Nur    schedule 04.01.2016
comment
Привет @pandu-pratama-nur, все в порядке. Попробуйте установить какой-нибудь пакет и посмотрите, как он работает. Есть сайт с очень полезными пакетами: demos.krajee.com Также попробуйте ответить на тот же пост, не открывать новую. - person stig-js; 04.01.2016

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

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

Использование загруженных библиотек Если библиотека не выпущена в виде пакета Composer, для ее установки необходимо следовать инструкциям по установке. В большинстве случаев вам потребуется загрузить файл выпуска вручную и распаковать его в каталог BasePath/vendor, где BasePath представляет базовый путь вашего приложения.

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

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

    [
    'aliases' => [
        '@xyz' => '@vendor/foo/bar',
    ],
]

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

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

  • Определите, какие классы содержит библиотека.
  • Перечислите классы и соответствующие пути к файлам в Yii::$classMap в сценарии ввода приложения. Например,

    Yii::$classMap['Class1'] = 'путь/к/Class1.php'; Yii::$classMap['Class2'] = 'путь/к/Class2.php';

Дополнительную справочную информацию можно найти здесь: http://www.yiiframework.com/doc-2.0/guide-tutorial-yii-integration.html

person WCO    schedule 11.02.2016