这是一种不好的做法吗?
像:
function boo(){
require_once("class.moo.php");
}
...
答案 0 :(得分:8)
是这是不好的做法; 不不是。
你可能会得到两个答案,这就是原因:
如果您使用__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
。
答案 1 :(得分:4)
我会避免它。
这不是其他开发人员所期望的,因此会降低代码的可维护性。
答案 2 :(得分:1)
这就是类加载器的工作方式。这不一定是不好的做法。
取决于函数的功能以及执行此操作的原因。使用autoloading可能更合适。
答案 3 :(得分:1)
这通常是一种不好的做法,应该避免。您应该考虑使用autoloader代替。
答案 4 :(得分:-1)
如果你有理由我没有看到任何不好的事情。