今天做一个程序时发现了一个问题,有知道的高手请解答一下,详细问题如下:
有一个类定义:class test {
....
}这时,如果在类定义前调用它,不会出现任何问题,如下:test::func();
class test(){
public static function func() {...}
}
但假设它有一个父类parent的话,再在类定义前调用它会出现类未定义的错误。如下:
test::func();
class test extends parent {
public static function func() {...}
}运行时则会出现类似如:Fatal error: Class 'test' not found 的错误。这是怎么引起的?有相应的解决办法么?
有一个类定义:class test {
....
}这时,如果在类定义前调用它,不会出现任何问题,如下:test::func();
class test(){
public static function func() {...}
}
但假设它有一个父类parent的话,再在类定义前调用它会出现类未定义的错误。如下:
test::func();
class test extends parent {
public static function func() {...}
}运行时则会出现类似如:Fatal error: Class 'test' not found 的错误。这是怎么引起的?有相应的解决办法么?
php是会预习分析语法的,然后在真正执行代码!也就是说无论你这个类声明在何处,在真正执行前都会预先初始化好类!不会发生你说的情况!发生你说的情况只有一个可能,你的类没要包含到程序里!