PHP继承提示找不到父类

原创
2016-06-06 20:17:59 1885浏览

直接上代码吧。

namespace 'Test';
class A
{
    
}
namespace 'Test';
//直接运行B会报错,提示找不到AA
include 'A.php';
//加上include这句后,就可以了
class B extends A
{
    
}

这个是为什么呢?俩个文件在同一个文件夹下,也在同一个目录下,不include也应该没问题,框架中常用的继承也没有include。

回复内容:

直接上代码吧。

namespace 'Test';
class A
{
    
}
namespace 'Test';
//直接运行B会报错,提示找不到AA
include 'A.php';
//加上include这句后,就可以了
class B extends A
{
    
}

这个是为什么呢?俩个文件在同一个文件夹下,也在同一个目录下,不include也应该没问题,框架中常用的继承也没有include。

那是因为框架在前面已经注册了自己的autoload,所以当你需要A时如果当前文件中没有A这个类,那么就触发autoload机制,通过autoloadA类所对应的文件include进来。

多学学基础吧,不include怎么会能用呢,框架里肯定也是给include了,只不过是给封装好了

不使用include的 会调用autoload 到默认的文件位置寻找A类吧,很明显 当前文件夹 并不在默认位置?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。