ask2问答路由解析详细说明

2016-07-03 21:28发布

举例说明: http://wenda.whatsns.com/note/view/23.html

这是做过伪静态后看到的,如果不做伪静态域名后必须加问好,比如:http://wenda.whatsns.com/?note/view/23.html

对于这个如何分析model,control,view,这是我告诉你方法,先开始找control,毫无疑问,control层文件应该是 note.php

找到note.php后,note/view,后面的函数是view,所以我们找note.phpview函数,ask2问答系统控制层所有函数前必须加On,形如 On函数名,所以我们找的应该是onview,我们查找下 Ctr+F,

会看到我们解析的函数,后面note/view/23.html23表示通知文章的编号ID

然后我们会看到 template(‘note’)模板函数,说明是note.html模板,我们去view文件夹里面找,view文件夹里会放各个模板,具体哪个模板看你后台系统设置里应用的是哪个模板。

$_ENV['note']表示使用的是note实体,去Model文件夹里面找note.class.php就行,这就是note实体类,对应数据库表note表。

  $note = $_ENV['note']->get($this->get[2]);

形如 实体->函数(相关参数);

这是最基础的实体操作。上面的代码怎么看,model/node类里找get方法/函数,

这个函数返回一个note实体,保存根据id找到的这个通知实体。

也许你会好奇,系统里面这些:

http://wenda.whatsns.com/q-237403.html

http://wenda.whatsns.com/c-2.html

 

http://wenda.whatsns.com/u-144651.html

 

像前缀 q-,c-,u-的怎么找,这个问题问的好,在lib目录里找到这个文件:global.func.php

里面都是存放路由重写的规则,比如 q-,真正是走 question/view

那么你就明白,应该找 control里的question.php,然后打开question.php文件,找到里面的onview函数。

好了,路由解析说明就到这了。


请勿在公告评论里发布广告,否则拉黑账号
2条评论
宁静1
1楼 · 2016-11-30 10:58

不错

好了伤疤忘了疼
2楼 · 2016-11-25 09:46

站内公告