0

エクステンションを作成しました。Yii2 ウィジェットです。そのためのGitHub リポジトリを作成しました。いくつかの問題の後、このPackagistパッケージcomposer.jsonに成功しました。

これで、次のコマンドを使用して、任意の yii2 アプリケーションで composer を使用してインストールできるようになりました。

composer require saidbakr/yii-jui-themes-list=1.2

問題があります: にインストールされていますが、PHP コードの名前空間がこの名前空間を考慮しているため、vendor\saidbakr\yii-jui-themes-list直接インストールしたいと考えています。vendor\saidbakrパッケージをインストールする場所を制御したり、少なくともファイルをリポジトリ所有者に直接配置する方法はありますか?

4

2 に答える 2

3

現在の名前空間はそのように定義されています

namespace vendor\saidbakr;

次のようなものを使用する必要があります

namespace yiiJuiThemesList;

composer がそれを vendor フォルダーに入れようとしているからといって、名前空間自体が必要であるとは限りません。

于 2015-01-27T19:20:20.453 に答える
1

あなたの名前空間は深刻に間違っています。それらに「ベンダー」を含めないでください。実際には、パッケージが既にインストールされている正確な場所にインストールできるようにする必要があります。これがまさにそのように機能するはずです。あなたがそれらを別の場所にインストールさせないものは何でも

名前空間をもっとシンプルにしたい場合は、こちらをご覧ください: https://github.com/Mihai-P/yii2-core/blob/master/composer.json

これが私がやった方法です。基本的に、core名前空間が実際には vendor/tez/yii2-cms-module を指していることを composer に伝えました。

このように言うと

use core/widgets/blala 

vendor/tez/yii2-cms-module/widgets/blala に移動することがわかります。

これは、すべてを設定する方法です。

また、ここで行ったように、yii2 でエイリアスを設定することもできます: https://github.com/Mihai-P/yii2-app-advanced/blob/master/common/config/bootstrap.php

于 2015-01-27T23:24:12.887 に答える