PHP在主项目的供应商下开发composer包
我有一个主php项目,需要一个由我开发的php组件,我打算在其他项目中重用该组件,该组件位于主项目供应商目录中。 但是,将组件推到Github,转到主项目,运行composer update非常耗时。PHP在主项目的供应商下开发composer包,php,github,composer-php,Php,Github,Composer Php,我有一个主php项目,需要一个由我开发的php组件,我打算在其他项目中重用该组件,该组件位于主项目供应商目录中。 但是,将组件推到Github,转到主项目,运行composer update非常耗时。 为了加快组件的开发,是否有办法将本地组件项目包含到主项目中?您可以直接在供应商文件夹中添加库,使用psr-0或psr-4自动加载注册源,转储自动加载类,并在文件夹中创建git存储库 因此,您可以将它用作一个库,同时,您不需要在项目中进行每次更新来测试库 我不知道这是否是一个好方法,但符号链接对我不
为了加快组件的开发,是否有办法将本地组件项目包含到主项目中?您可以直接在供应商文件夹中添加库,使用psr-0或psr-4自动加载注册源,转储自动加载类,并在文件夹中创建git存储库 因此,您可以将它用作一个库,同时,您不需要在项目中进行每次更新来测试库
我不知道这是否是一个好方法,但符号链接对我不起作用,我仍然需要在自动加载中注册这些类。这就是我如何进行本地composer包开发的方法
供应商回购
文件夹vendorrepo/vendorname/packagename
packagename
文件夹中创建一个git repo,并使用composer.json
等构建您的composer包composer.json
(需要您的包的存储库)。您还可以通过添加“packagist”:false来禁用packagist repo,如下例所示。这将加快速度,如果您不使用packagist提供的任何软件包,这是一个好主意
“存储库”:[
{
“类型”:“路径”,
“url”:“供应商回购/vendorname/packagename”
},
{
“包装商”:错
}
]
然后,当您运行
composer update
时,它将从您的本地repo获取您的包,而不需要从GitHub获取它。如果composer update
非常耗时,那么我认为您的internet连接太慢。我不需要超过5分钟来更新。5分钟太多了,甚至20秒,我可能会更改Tenyes作曲家的速度非常慢。如果你只做本地开发,你可以禁用packagistrepo,这使得它可以在几秒钟内安装。我只是希望我能像在VisualStudio中的c#一样引用一个包。我将尝试只运行一次composer update,然后删除与composer.json中的包相关的条目,以便在进一步更新时保留该条目。您也可以从我们的供应商文件夹中添加该库。例如,一个名为“local_libs”的文件夹,因此在成功更新composer后不会删除库源。别忘了更改自动加载源路径。谢谢,是的,“路径”正是我所需要的,我将深入了解文档以获取更高级的内容。不用担心@YvonHuynh很高兴您将其整理好。Composer文档非常好:)注意:我的包名是“vendorname/packagename”,url是“vendor repo/vendorname”,因为当我从github克隆现有包时,它将创建“packagename” folder@YvonHuynh通常我会将composer.json放在包repos的根目录中,而不是放在packagename
目录中,但请使用适合您的任何工具:)明白了!关于语义版本的最后一点,Composer如何读取git存储库中的标记?