问题是当我使用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()时,它说
名称空间不存在
,而不是将target-dir的值更改为/
或src/
,但它仍然不起作用。
它仅在我将target-dir
值设置为Funmi\SmsBundle
时才起作用,现在问题是为什么我必须这样设置?
答案 0 :(得分:3)
target-dir
已弃用,请勿使用。
我希望你的bundle类存在于根目录中,对吗?这意味着您需要配置PSR-4自动加载器:
"autoload" : {
"psr-4" : {
"Funmi\\SmsBundle\\" : ""
}
},
这会将自动加载器配置为在Funmi\SmsBundle\FunmiSmsBundle
中搜索/FunmiSmsBundle.php
。