举例说明: 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.php下view函数,ask2问答系统控制层所有函数前必须加On,形如 On函数名,所以我们找的应该是onview,我们查找下 Ctr+F,
会看到我们解析的函数,后面note/view/23.html,23表示通知文章的编号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函数。
好了,路由解析说明就到这了。
不错
好