我有一个类,一个方法可以返回其他的实例,例如:
class a {
public function foo() {
}
public function bar() {
return new b();
}
}
“b”类在另一个文件中,我可以这样做:
require_once('b.php');
class a {
public function foo() {
}
public function bar() {
return new b();
}
}
但我包括一个类,这不是在案件的市长使用。我实际上做了:
class a {
public function foo() {
}
public function bar() {
require_once('b.php');
return new b();
}
}
真的不要使用require函数,我使用的是导入函数,它使用require,但是我为类名做了(而不是自动加载)(我们使用包而不使用名称空间)。
这样做有效,没有错误,警告,通知等。这是错误的吗?
答案 0 :(得分:2)
这很好。确保您没有任何不属于类/函数的语句,因为它们只会在bar()
函数中执行/可用
答案 1 :(得分:2)
我认为这更多是个人选择的问题。因为PHP是被解释的,所以与每个示例的C不同,编译器不需要在运行时之前知道类定义,因此您可以在代码中的任何位置使用include
指令。
两者都有一个优点和缺点:如果你总是包含在脚本的开头,你可以很容易地找出你的类有哪些依赖项,但是你可以加载那些在运行时不会使用的类。显然,相反的做法会产生相反的效果。
要么可以接受。