【问题标题】:Class not found in Symfony 2.2Symfony 2.2 中找不到类
【发布时间】:2013-04-27 22:43:53
【问题描述】:

我有一个 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 有什么变化吗?

【问题讨论】:

  • 模型类在哪里?在app 目录下?...只有在src 目录下才会自动加载。

标签: symfony namespaces symfony-2.2


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2012-10-15
    • 1970-01-01
    相关资源
    最近更新 更多