【发布时间】:2011-06-20 21:47:22
【问题描述】:
这是一种不好的做法吗?
喜欢:
function boo(){
require_once("class.moo.php");
}
...
?
【问题讨论】:
这是一种不好的做法吗?
喜欢:
function boo(){
require_once("class.moo.php");
}
...
?
【问题讨论】:
我会避免的。
这不是其他开发人员所期望的,因此会降低代码的可维护性。
【讨论】:
这就是类加载器的工作方式。这不一定是坏习惯。
取决于函数的作用以及您这样做的原因。使用autoloading 可能更合适。
【讨论】:
如果你有理由这样做,我认为这没有什么不好。
【讨论】:
这通常是一种不好的做法,应该避免。您或许应该考虑改用autoloader。
【讨论】:
是的这是不好的做法; 不不是。
您很可能会得到两个答案,原因如下:
如果您使用__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。
【讨论】:
UndefinedClassName.php 中的其他声明在函数定义中使用时在语法上是非法的怎么办?