2013-05-09 96 views
2

我想在这里很简单的事情,但它似乎并没有工作。这段代码看看:致命错误时扩展包括类

include 'custom/mainclass.php'; 

$child = new childClass(); 

class childClass extends mainClass { 
} 

显然childClass()无法找到(根据PHP)..我100%肯定我做的东西在我的订货代码的方式很愚蠢。

我已经在网上搜索,但是从我的理解,我没有做错什么..

回答

11

你要使用他们在你的代码首先之前声明你的类。

include 'custom/mainclass.php'; 

class childClass extends mainClass { 

} 

$child = new childClass(); //Create an instance after the class has been declared 

编辑:

一些研究结果证明,实际上你可以声明之前使用类之后。 ,类的声明和所有父类必须在同一个文件

所以,如果你在一个文件中声明一个父类而在另一个文件中声明一个子类,它将不起作用。

此外,您必须首先声明父类。之后,你可以扩展它们。

+0

是的,似乎工作。但我很好奇为什么我的脚本在我没有扩展任何东西之前工作,并且我的班级减速度低于使用范围 – Ortix92 2013-05-09 13:30:50

+0

我不确定您可以在声明之前使用它。实际上你的文件'custom/mainclass.php'包含一个主类的声明,并且你首先包含它 - >然后使用它。 – vikingmaster 2013-05-09 13:33:12

+0

我的意思是,在我没有扩展之前,我也没有包括任何东西。我只是有一个小小的脚本,并在底部声明了这个类。我在脚本的顶部使用了这个类,没有任何错误。当我扩展它时,突然间订单开始出现问题 – Ortix92 2013-05-09 13:34:31

0

与变量,函数或其他语言结构相同,

首先声明,然后使用。