PHP / Symfony2,一个文件中的两个类,应该是第一个?

时间:2016-09-12 07:52:10

标签: php symfony

我有一些对我来说很奇怪的东西。它在Symfony Controller中,但我认为不重要。在控制器文件中,在控制器类的旁边,我创建了一个简单的“类”,其中包含的内容只是为了使查询中的某些内容更加清晰:

class ExportType
{
    const EXPORT_WORLDWIDE = 1;
    const EXPORT_EU = 2;
}

当然顶部只有一个命名空间。这些常量用于控制器的一个动作中。

每次我使用PhpStorm的代码自动格式化时,该类都会移到文件的顶部。好的,我不介意,PhpStorm在这里没有报告任何错误。但似乎PHP(或Symfony?)不喜欢它,因为每次帮助类都在顶部时,会抛出FileLoaderLoadException,说该类在该命名空间中不存在。
当它在底部时,没有问题。这是正常的吗?应该在使用它的类之后声明使用的类??

1 个答案:

答案 0 :(得分:2)

问题可能来自Composer,您的代码根本不符合PSR-0/4,这是Composer用来自动加载您的文件的惯例。您收到错误,因为它无法找到要加载的文件。

如果声明为秒,它可能有效,因为你使用它的唯一地方是你的控制器。在其他地方使用你的常量,它会自动失败。