在 Packagist 上创建包和包安装路径
Creating package on Packagist and the package installation path
我创建了一个yii2 extension. It is a Yii2 widget. I created a GitHub repository for it. After some issues with composer.json
I have, successfully, to this Packagist package。
现在我可以使用以下命令在任何 yii2 应用程序中使用 composer 安装它:
composer require saidbakr/yii-jui-themes-list=1.2
有一个问题:它已经安装在vendor\saidbakr\yii-jui-themes-list
下,但是我希望它直接安装在vendor\saidbakr
上,因为我的PHP代码命名空间考虑到了这个命名空间。那么有什么方法可以让我控制应该安装包的位置,或者至少让我的文件直接放在存储库所有者上吗?
您当前的命名空间是这样定义的
namespace vendor\saidbakr;
你应该使用类似
的东西
namespace yiiJuiThemesList;
仅仅因为 composer 将把它放入 vendor 文件夹并不意味着您需要这样的命名空间。
您的命名空间严重错误。它们不应包含 "vendor"。您实际上应该允许包安装在它已经安装的确切位置,这正是它应该如何工作的。不管你不让他们安装在另一个地方
如果你想让命名空间更简单,请看这里:https://github.com/Mihai-P/yii2-core/blob/master/composer.json
我就是这样做的。基本上我告诉作曲家 core
命名空间实际上指向 vendor/tez/yii2-cms-module
这样当你说
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
我创建了一个yii2 extension. It is a Yii2 widget. I created a GitHub repository for it. After some issues with composer.json
I have, successfully, to this Packagist package。
现在我可以使用以下命令在任何 yii2 应用程序中使用 composer 安装它:
composer require saidbakr/yii-jui-themes-list=1.2
有一个问题:它已经安装在vendor\saidbakr\yii-jui-themes-list
下,但是我希望它直接安装在vendor\saidbakr
上,因为我的PHP代码命名空间考虑到了这个命名空间。那么有什么方法可以让我控制应该安装包的位置,或者至少让我的文件直接放在存储库所有者上吗?
您当前的命名空间是这样定义的
namespace vendor\saidbakr;
你应该使用类似
的东西namespace yiiJuiThemesList;
仅仅因为 composer 将把它放入 vendor 文件夹并不意味着您需要这样的命名空间。
您的命名空间严重错误。它们不应包含 "vendor"。您实际上应该允许包安装在它已经安装的确切位置,这正是它应该如何工作的。不管你不让他们安装在另一个地方
如果你想让命名空间更简单,请看这里:https://github.com/Mihai-P/yii2-core/blob/master/composer.json
我就是这样做的。基本上我告诉作曲家 core
命名空间实际上指向 vendor/tez/yii2-cms-module
这样当你说
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