我正在使用自定义PHP MVC框架创建项目管理系统。我有一个负责处理项目的控制器类。当然,我的控制器中的一个函数是createProject()。创建项目时,我需要发送一封电子邮件,以便我也有一个邮件程序类。
包含(' /model/Mailer.class.php')是否更有效率;在createProject()函数的开头,或者在包含createProject()函数的控制器类的开头,为什么?
我的想法是,在createProject()函数的开头包含它会更有效率,这样当调用不需要的其他函数时,不必总是包含它它
答案 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';
});