在PHP类文件中放置include语句的位置


Where to place include statements in a PHP class file

在PHP类文件中包含文件最明智的做法是什么?例如,如果其中一个方法需要一个外部类,我应该包括该方法中使用它的文件,还是应该在该类之前完成?还是在构造函数中?或你推荐什么?优点?缺点?还是这真的只是一个品味问题?

include_once 'bar.class.php';
class Foo
{
    public static function DoIt()
    {
        new Bar();
    }
}

class Foo
{
    public static function DoIt()
    {
        include_once 'bar.class.php';
        new Bar();
    }
}

我更喜欢它在顶部,这与c/java/c#中的#import/import/using的约定相同,因为它可以立即让您知道您的类还依赖于哪些其他类。

您可能还想签出require_once()而不是include_once(),因为当包含的文件包含错误时,它将因错误而停止,而不是发出警告。当然,这取决于你所包含的文件类型以及你认为它的重要性

我想说这取决于情况。

因此,如果有一个相当大的代码库,并且您希望每次有页面请求时都将代码加载到内存中,并将其降至最低,那么我建议在需要时只包含其他php文件。

但是,如果始终需要该脚本,请将其包含在脚本的顶部。

这实际上取决于情况和要求。

希望能有所帮助。

这取决于您使用的体系结构。在开头包含文件是很好的,但如果该文件打印文本,则您将无法操作标题等。

当您使用MVC模式时,控制器应该包括类文件。

如果您确定需要包含该文件,请在顶部执行。如果您需要按需包含文件,您可能需要查看spl_autoload_register()来减轻这种痛苦。

在页面顶部包含外部文件总是很好的。以后很容易找到它。如果包含的文件非常大,请将其包含在需要的任何位置。另请参阅require_onceinclude_once的文档。

还有简单的requireinclude。知道它们之间的区别以及何时使用。