0

我有一个 Symfony 2.2 项目,只有一个名为"Xedef"的应用程序。在该应用程序文件夹中,我创建了一个Model目录,其中包含一些类。我希望我可以为这些类定义一个命名空间,将命名空间声明为:

namespace Xedef\Model;

class MyClass
{
    // ...
}

然后从我的控制器中使用它们,只需将命名空间“使用”为:

use Xedef\Model\MyClass;

class HomeController extends Controller
{
    public function welcomeAction()
    {
        $myObj = new MyClass();
    }
}

但我没有运气。这会导致以下错误:

FatalErrorException:错误:在 /gitRepo/XedefApp/src/Xedef/MainBundle/Controller/HomeController.php 中找不到类“Xedef\Model\MyClass”

奇怪的是,我在 Sf 2.1 中做了同样的事情,我没有遇到任何麻烦。2.2有什么变化吗?

4

1 回答 1

1

如果你想自动加载类,你应该把它们放在srcorvendor目录中。composer.json如果要从另一个目录自动加载类,也可以编辑该文件:

{
    ...
    "autoload": {
        "psr-0": {
            ...
            "Xedef": "path/to/Xedef"
        }
    }
}
于 2013-04-28T07:01:00.037 回答