Laravel 制作一套适合拉拉威尔风格的作曲家套装

Laravel 制作一套适合拉拉威尔风格的作曲家套装,laravel,composer-php,Laravel,Composer Php,我用Laravel为我的网站制作了一个CRUD, 我想在packagist中创建一个新包,并在运行“composer install”时创建一个新包 将这些文件放在我的新项目的Traits文件夹中。 有可能吗 您可以为您的Trait创建一个composer包,但是当您使用composer install安装它时,它将被放置在供应商/文件夹中。这应该不是问题,因为您的项目仍然可以通过名称空间引用它 在将包提交到packagist.org之前,您可以只使用git repository进行尝试,看看将

我用Laravel为我的网站制作了一个CRUD, 我想在packagist中创建一个新包,并在运行“composer install”时创建一个新包 将这些文件放在我的新项目的Traits文件夹中。 有可能吗


您可以为您的Trait创建一个composer包,但是当您使用
composer install
安装它时,它将被放置在供应商/文件夹中。这应该不是问题,因为您的项目仍然可以通过名称空间引用它

在将包提交到packagist.org之前,您可以只使用git repository进行尝试,看看将其作为单独的包是否有意义。为了做到这一点,您可以将Trait和任何其他类移动到项目外部它们自己的库文件夹中。然后使用
git init
git add.
git commit
创建一个新的git存储库,并提交应该构成库的类。为了使它成为composer可以识别的适当库,您还需要一个
composer.json
。最简单的设置方法是使用命令
composer init
。它将指导您创建初始的
composer.json
,您可以在以后修改它。也提交这个文件。你可能需要添加更多的东西,比如自动加载信息。为此,您可以查看其他库的composer.json并查看其中的内容。现在,您可以将您的trait库推送到Github或任何您希望托管git存储库的地方。如果您不想让全世界都看到您的代码,您甚至可以首先使用私有的git存储库

现在您已经将库发布到github,可以在项目中使用它了。为此,您必须将git存储库添加到您的
composer.json

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/yourusername/yourlibrary"
        }
    ]
如果您使用的是私有存储库,则必须使用ssh url,因此在本例中,url将为
git@bitbucket.org:yourusername/yourlibrary.git

这将允许composer从此存储库获取包信息。换句话说,它将从我们之前在单独的库文件夹中提交的
composer.json
中读取库的名称。最后一步,在使用trait库的项目中,您现在可以运行
composer require/
,您可能还必须将版本指定为
dev master
,或者将
分支别名添加到库的(!)
composer.json
,或者在GitHub上发布库的版本,即添加版本标记


稍后,当您决定在packagist.org上发布库时,您在项目中所要做的就是删除
composer.json
中的自定义
存储库
部分,库将通过packagist自动获取。

这不是composer包的工作方式。看见