这是不好的做法吗?
喜欢:
function boo(){
require_once("class.moo.php");
}
...
?
最佳答案
是,这是不好的做法; 否,不是。
您可能会得到两个答案,这就是原因:
如果您使用__autoload
(或等效代码),请调用:
function someFunc()
{
$n = new UndefinedClassName();
}
等效于:
function someFunc()
{
include('path/to/UndefinedClassName.php');
//may be require_once, include_once, include, or require
//depending on how autoload is written
$n = new UndefinedClassName();
}
但是,如果避免使用
__autoload
,则可以从代码中获得更好的性能。为了维护您的代码,最好将所有includes
放在脚本的顶部,就像处理其他语言的import
语句一样。include('path/to/UndefinedClassName.php');
...code...
function someFunc()
{
$n = new UndefinedClassName();
}
我建议保持一致。如果您在函数中始终调用
include
,那么应该不会有太多问题,但是我会选择在文件开头或autoloads
处导入。关于PHP-在函数内定义类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4890595/