凌晨发贴,问个基础问题
在维护个项目,倒是没啥问题,
项目用的doitphp框架
有个问题搜索没找到答案
比如说java c# delphi等等语言,
如果在继承一个类,应该要引入对应的命名空间,文件之类的
但是在这个php项目中,
就是直接
class accountcontroller extends controller
他是怎么去找到基类并继承他呢?
------解决思路----------------------
一般情况下,你得先加载 controller 类定义文件
但你用的是框架,那么加载基础类的工作已由框架完成。你只需使用即可
------解决思路----------------------
在入口文件处就require了基础的文件类
------解决思路----------------------
框架把好多操作都进行了封装,你的想法是没问题的
------解决思路----------------------
二楼正解,甚至在入口文件中会重新处理类名与文件名的关联问题,这个在yiimailler插件中就有(包括楼主的问题,看看这个插件的代码也能解决)
------解决思路----------------------
这个框架比thinkphp还简单
doit.class.php----> 281行 加载 controller类 self::loadfile(doit_root . 'core/controller.class.php');
doit.class.php----> 286行 加载经过路由处理出来的当前控制器 self::loadfile(controller_dir . $controller . '.class.php');
doit.class.php----> 312行 执行当前控制器默认方法 $_app[$appid] = $appobject->$action();
------解决思路----------------------
doitphp.php 应该是把核心的文件初始化加载。
------解决思路----------------------
看看入口文件加载了什么。