gpt4 book ai didi

php - 自动加载 bitbucket 存储库 + composer.json

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:14 25 4
gpt4 key购买 nike

我想使用 composer 将 bitbucket 存储库添加到我的 vendor 文件夹中。这是我的 composer.json 中的内容:

{
"require": {
"silex/silex": "~1.1",
"doctrine/dbal": "2.2.*",
"twig/twig" : "1.*",
"symfony/twig-bridge": "~2.3",
"twitter/bootstrap": "*",
"symfony/assetic-bundle": "2.1.*",
"leafo/lessphp": "*",
"silex/web-profiler": "~1.0",
"symfony/security": "~2.3",
"symfony/form": "~2.3",
"symfony/validator": "~2.3",
"symfony/config": "~2.3",
"symfony/translation": "~2.3",
"monolog/monolog": ">=1.0.0",
"symfony/yaml": "~2.3",
"jasongrimes": "dev-master"
},
"autoload": {
"psr-0": { "": "src/" }
},
"repositories": [
{
"type": "package",
"package": {
"name": "jasongrimes",
"version": "dev-master",
"source": {
"url": "mybitbucketurl",
"type": "git",
"reference": "origin/master"
}
}
}
]
}

我的 bitbucket 存储库中没有要通过 composer 添加的 composer.json。现在,当我运行我的应用程序时,出现以下错误:

Fatal error: Class 'SimpleUser\UserServiceProvider' not found in app/bootstrap.php on line 82

我如何确保它也在自动加载器中?

最佳答案

当您指定一个包存储库时,您基本上提供了该包的 composer.json 中的所有详细信息(如果有的话)。要使自动加载工作,必须指定包的 autoload 属性。 Composer 手册有details on the autoload property .

如果您的 bitbucket 存储库符合 PSR-0 或 PSR-4,您只需指定正确的标准,以及要加载的类在存储库中的存储位置。例如,使用 PSR-4 和您的类存储在 src/ 目录中:

{
"require": {
"jasongrimes": "dev-master"
},
"repositories": [
{
"type": "package",
"package": {
"name": "jasongrimes",
"version": "dev-master",
"source": {
"url": "mybitbucketurl",
"type": "git",
"reference": "origin/master"
},
"autoload": {
"psr-4": { "": "src/" }
}
}
}
]
}

否则,您可以使用classmap 指定要扫描的目录或文件以查找包含类的.php.inc 文件。例如,如果您尝试加载的类位于存储库中的文件 SimpleUser/UserServiceProvider.php 中:

{
"require": {
"jasongrimes": "dev-master"
},
"repositories": [
{
"type": "package",
"package": {
"name": "jasongrimes",
"version": "dev-master",
"source": {
"url": "mybitbucketurl",
"type": "git",
"reference": "origin/master"
},
"autoload": {
"classmap": [ "SimpleUser/UserServiceProvider.php" ]
}
}
}
]
}

关于php - 自动加载 bitbucket 存储库 + composer.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23139496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com