gpt4 book ai didi

php - 是composer的autoload必须有相同的文件结构?

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:16 25 4
gpt4 key购买 nike

问题是当我使用 symfony 2.7 时,我将自己的包上传到 composer packagist。首先,我像那样尝试我的 composer.json

{
"name" : "funmi/sms-bundle",
"description" : "a develop components from funmitech",
"type" : "symfony-bundle",
"authors" : [{
"name" : "funmi",
"email" : "1535399875@qq.com"
}],
"keywords" : [
"funmi develop"
],
"license" : [
"MIT"
],
"require" : {
},
"autoload" : {
"psr-0" : {
"Funmi\\SmsBundle" : ""
}
},
"target-dir" : "",
"repositories" : [{
}],
"extra" : {
"branch-alias" : {
"dev-master" : "1.0-dev"
}
}
}

但是当我在 appkernel.php 中新建 Funmi\SmsBundle\FunmiSmsBunle() 时,它说

namespace not exist

,然后我将目标目录的值更改为 /src/ 但它仍然不起作用。它只在我将 target-dir 值设置为 Funmi\SmsBundle 时有效,现在的问题是为什么我必须这样设置?

最佳答案

target-dir 已弃用,请勿使用。

我希望您的包类位于根目录中,对吗?这意味着您需要配置 PSR-4 自动加载器:

"autoload" : {
"psr-4" : {
"Funmi\\SmsBundle\\" : ""
}
},

这会将自动加载器配置为在 /FunmiSmsBundle.php 中搜索 Funmi\SmsBundle\FunmiSmsBundle

关于php - 是composer的autoload必须有相同的文件结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32088142/

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