凌晨发贴,问个基础问题
在维护个项目,倒是没啥问题,
项目用的doitphp框架
有个问题搜索没找到答案
比如说JAVA C# delphi等等语言,
如果在继承一个类,应该要引入对应的命名空间,文件之类的
但是在这个PHP项目中,
就是直接
<br />class AccountController extends Controller<br />
他是怎么去找到基类并继承他呢?
------解决思路----------------------一般情况下,你得先加载 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 应该是把核心的文件初始化加载。
------解决思路----------------------看看入口文件加载了什么。
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn