凌晨发贴,问个基础问题

knife_s 2014-12-16 03:42:48
在维护个项目,倒是没啥问题,
项目用的doitphp框架
有个问题搜索没找到答案
比如说JAVA C# delphi等等语言,
如果在继承一个类,应该要引入对应的命名空间,文件之类的
但是在这个PHP项目中,
就是直接

class AccountController extends Controller

他是怎么去找到基类并继承他呢?
...全文
174 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-12-16
  • 打赏
  • 举报
回复
看看入口文件加载了什么。
ghostwuboy 2014-12-16
  • 打赏
  • 举报
回复
这个框架比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();
码无边 2014-12-16
  • 打赏
  • 举报
回复
DoitPHP.php 应该是把核心的文件初始化加载。
司码君 2014-12-16
  • 打赏
  • 举报
回复
二楼正解,甚至在入口文件中会重新处理类名与文件名的关联问题,这个在YiiMailler插件中就有(包括楼主的问题,看看这个插件的代码也能解决)
事故的故事 2014-12-16
  • 打赏
  • 举报
回复
框架把好多操作都进行了封装,你的想法是没问题的
果酱很好吃 2014-12-16
  • 打赏
  • 举报
回复
在入口文件处就require了基础的文件类
xuzuning 2014-12-16
  • 打赏
  • 举报
回复
一般情况下,你得先加载 Controller 类定义文件 但你用的是框架,那么加载基础类的工作已由框架完成。你只需使用即可
knife_s 2014-12-16
  • 打赏
  • 举报
回复
谢谢楼上各位热心解答 又看了一下项目文件 入口文件中引入了 require_once APP_ROOT . 'doitphp/DoitPHP.php'; 然后调用里面的抽象类静态方法来初始化载入相关文件 也就是,IDE自动把把所有代码都解释过一遍,所以在写代码的过程中知道到哪儿去找

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧