[英]PHP - defining classes inside a function
这是一种不好的做法吗?
喜欢:
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
。
我会避免它。
这不是另一个开发人员所期望的,因此会降低代码的可维护性。
这就是类加载器的工作方式。 这不一定是不好的做法。
取决于函数的功能以及执行此操作的原因。 使用自动加载可能更合适。
这通常是一种不好的做法,应该避免。 您应该考虑使用自动加载器 。
如果你有理由我没有看到任何不好的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.