在Symfony 2.2中找不到的类

时间:2013-04-27 22:43:54

标签: symfony namespaces symfony-2.2

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

namespace Xedef\Model;

class MyClass
{
    // ...
}

然后使用它们,比方说,我的控制器只是通过“使用”名称空间为:

use Xedef\Model\MyClass;

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

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

  

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

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

1 个答案:

答案 0 :(得分:1)

如果要自动加载类,则应将它们放在srcvendor目录中。如果要从其他目录自动加载类,也可以编辑composer.json文件:

{
    ...
    "autoload": {
        "psr-0": {
            ...
            "Xedef": "path/to/Xedef"
        }
    }
}