PHP效率:在脚本开头或函数中包含它会更好吗?

时间:2014-09-25 20:51:44

标签: php performance

我正在使用自定义PHP MVC框架创建项目管理系统。我有一个负责处理项目的控制器类。当然,我的控制器中的一个函数是createProject()。创建项目时,我需要发送一封电子邮件,以便我也有一个邮件程序类。

包含(' /model/Mailer.class.php')是否更有效率;在createProject()函数的开头,或者在包含createProject()函数的控制器类的开头,为什么?

我的想法是,在createProject()函数的开头包含它会更有效率,这样当调用不需要的其他函数时,不必总是包含它它

1 个答案:

答案 0 :(得分:0)

如果您在课程开头包含该文件,如:

include ('theFileClass.php');
class SomeClass{
    //code ...
}

您可以更轻松地维护代码。另一方面,如果您包含这样的文件:

class SomeClass{
    public function someMethod(){
        include ('theFileClass.php');
        //code ...
    }
}

有时被认为是一种不好的做法。

但是,如果使用自动加载策略,您将获得更好的性能,并且您的代码将更易读和可维护。使用spl_autoload_register代替__autoload

一个小例子:

//bootstrap.php
<?php
class Framework{
    //code ...
    public function createProject(){
        //code ...
        $mail = new MailerClass();
        //code ...
    }
    //code ...
}

spl_autoload_register(function($class){
    require_once 'path'. $class .'.php';
});