namespace 'test';class a{ }
namespace 'test';//直接运行b会报错,提示找不到aainclude 'a.php';//加上include这句后,就可以了class b extends a{ }
这个是为什么呢?俩个文件在同一个文件夹下,也在同一个目录下,不include也应该没问题,框架中常用的继承也没有include。
回复内容: 直接上代码吧。
namespace 'test';class a{ }
namespace 'test';//直接运行b会报错,提示找不到aainclude 'a.php';//加上include这句后,就可以了class b extends a{ }
这个是为什么呢?俩个文件在同一个文件夹下,也在同一个目录下,不include也应该没问题,框架中常用的继承也没有include。
那是因为框架在前面已经注册了自己的autoload,所以当你需要a时如果当前文件中没有a这个类,那么就触发autoload机制,通过autoload将a类所对应的文件include进来。
多学学基础吧,不include怎么会能用呢,框架里肯定也是给include了,只不过是给封装好了
不使用include的 会调用autoload 到默认的文件位置寻找a类吧,很明显 当前文件夹 并不在默认位置?
