Yii2 在PackageGist上创建包和包安装路径

Yii2 在PackageGist上创建包和包安装路径,yii2,php,github,composer-php,packagist,Yii2,Php,Github,Composer Php,Packagist,我已经创建了一个扩展。它是一个Yii2小部件。我创建了一个。在composer.json出现一些问题之后,我成功地解决了这个问题 现在,我可以使用以下命令在任何yii2应用程序中使用composer安装它: composer require saidbakr/yii-jui-themes-list=1.2 有一个问题:它已经安装在vendor\saidbakr\yii-jui主题列表下但是,我希望它直接安装在vendor\saidbakr上,因为我的PHP代码名称空间考虑到了这个名称空间。那么

我已经创建了一个扩展。它是一个Yii2小部件。我创建了一个。在
composer.json出现一些问题之后,我成功地解决了这个问题

现在,我可以使用以下命令在任何yii2应用程序中使用composer安装它:

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

有一个问题:它已经安装在
vendor\saidbakr\yii-jui主题列表下
但是,我希望它直接安装在
vendor\saidbakr
上,因为我的PHP代码名称空间考虑到了这个名称空间。那么,有没有什么方法可以让我控制包应该安装在哪里,或者至少让我的文件直接放在存储库所有者身上?

您当前的名称空间就是这样定义的

名称空间供应商\saidbakr

你应该用一个类似

名称空间yiiJuiThemesList


composer将把它放入供应商文件夹并不意味着您需要这样的名称空间。

您当前的名称空间就是这样定义的

名称空间供应商\saidbakr

你应该用一个类似

名称空间yiiJuiThemesList


仅仅因为composer将把它放在供应商文件夹中,并不意味着您需要这样的名称空间。

您的名称空间是严重错误的。它们不应包含“供应商”。实际上,您应该允许软件包安装在它已经安装的位置,这正是它应该如何工作的。无论你不让他们安装在另一个地方

如果希望名称空间更简单,请查看以下内容:

我就是这样做的。基本上,我告诉composer,
core
名称空间实际上指向vendor/tez/yii2cms模块

这样当你说

use core/widgets/blala 
它将知道去供应商/tez/yii2 cms模块/widgets/blala

这就是你想要设置它的方式


您也可以像我在这里做的那样在yii2中设置别名:

您的名称空间严重错误。它们不应包含“供应商”。实际上,您应该允许软件包安装在它已经安装的位置,这正是它应该如何工作的。无论你不让他们安装在另一个地方

如果希望名称空间更简单,请查看以下内容:

我就是这样做的。基本上,我告诉composer,
core
名称空间实际上指向vendor/tez/yii2cms模块

这样当你说

use core/widgets/blala 
它将知道去供应商/tez/yii2 cms模块/widgets/blala

这就是你想要设置它的方式


您也可以像我在这里做的那样在yii2中设置别名:

好吧,但是如何使用
使用
关键字访问它?同样的方法,没有
供应商
。Composer的
autoload.php
应该为您处理路径。在小部件php文件中,我已经设置了相应的名称空间,但在视图
中使用yiijithemeslist\juithemeselectionwidget导致找不到类错误@Chris@sєєsєє,你在用吗?@克里斯,我想我没有用它,因为我对它一无所知!一、 只是,看看那个文件。它只有7行文件,只有两行代码。那么,如何使用
使用
关键字访问它呢?同样的方法,没有
供应商
。Composer的
autoload.php
应该为您处理路径。在小部件php文件中,我已经设置了相应的名称空间,但在视图
中使用yiijithemeslist\juithemeselectionwidget导致找不到类错误@Chris@sєєsєє,你在用吗?@克里斯,我想我没有用它,因为我对它一无所知!一、 只是,看看那个文件。这是一个只有7行的文件,只有两行代码。我使用的名称空间怎么可能是错误的,而且在没有使用composer的情况下工作得很好。i、 e.在供应商名为
saidbakr
的文件夹下创建一个文件夹,然后将所有文件放在该文件夹中。在这种情况下,视图中的
使用vendor\saidbakr\juithemeselectionwidget
工作正常,我可以使用该小部件。请给我看另一个以名称空间“vendor”开头的包。所有包都应该以vendor开头吗?是否有以供应商开头的Yii2软件包?“供应商”中的任何symphony,项目中以“供应商”开头的任何包。packagist上使用供应商作为其主名称空间的任何包,“it works”都不足以说明某些东西是正确的。如果你有足够的力量,方轮就可以工作。它现在看起来不错,也更新你的自述文件,你就可以开始了。我使用的名称空间怎么可能是错误的,没有使用composer,它们工作得很好。i、 e.在供应商名为
saidbakr
的文件夹下创建一个文件夹,然后将所有文件放在该文件夹中。在这种情况下,视图中的
使用vendor\saidbakr\juithemeselectionwidget
工作正常,我可以使用该小部件。请给我看另一个以名称空间“vendor”开头的包。所有包都应该以vendor开头吗?是否有以供应商开头的Yii2软件包?“供应商”中的任何symphony,项目中以“供应商”开头的任何包。packagist上使用供应商作为其主名称空间的任何包,“it works”都不足以说明某些东西是正确的。如果你有足够的力量,一个方形的轮子就可以工作。现在看起来不错,更新你的自述文件,你就可以开始摇滚了。