仅仅因为自动加载的东西不起作用,我想知道PHP是否可以在方法中包含一个类?
示例:
public method doSomething() {
include ('MyClass.php');
$foo = MyClass::doAnotherThing();
}
答案 0 :(得分:3)
是的,这样可以正常工作,并且该课程将在全球范围内提供。如果该文件包含除类之外的其他代码,则该代码将像执行函数一样执行。
答案 1 :(得分:3)
是的,你绝对可以做到。事实上,这正是自动加载所做的事情,因为__autoload()
本身就是一个函数,你通常用它来环顾你要加载的类文件。
如果您手动包含类似的类文件,那么您肯定希望使用require_once()
而不是include()
或require()
,否则您将获得重复的声明类。
答案 2 :(得分:1)
那么在这种情况下你可能想要require
或require_once
并且可能会测试class_exists
,但是你可以这样做。