TypechoFramework怎么实现像index.php/ask/list这种URL格式访问ask类下面的list方法呢
这是路径的url写法,只要路由里边对url路径做个匹配处理就可以访问到相应的m,v,c,a,以及后边带的参数,这个不难,一般框架都支持这样的写法,只要看看源码就知道89了。举个很简单的例子以下是initPHP url的一种解析方法:
/**
* 解析rewrite方式的路由
* 1. 解析index.php/user/new/username/?id=100
* 2. 解析成数组,array()
* @param string $request
*/
private function parseRewriteUri($request) {
$InitPHP_conf = InitPHP::getConfig();
if (!$request) return false;
$request = trim($request, '/');
if ($request == '') return false;
$request = explode('/', $request);
if (!is_array($request) || count($request) == 0) return false;
if ($InitPHP_conf['ismodule'] == true) { //是否开启模型模式
if (isset($request[0])) $_GET['m'] = $request[0];
if (isset($request[1])) $_GET['c'] = $request[1];
if (isset($request[2])) $_GET['a'] = $request[2];
} else {
if (isset($request[0])) $_GET['c'] = $request[0];
if (isset($request[1])) $_GET['a'] = $request[1];
}
return $request;
}
$request = explode('/', $request);就把路径/后边的参数分到$request数组里边。
很简单吧,如果你是新手,面对一脸的设计模式困惑不已,且想看懂框架的源码就来init吧。我可以告诉两件事:1,群主是个spring的大婶;2,群主年底可能发500w给没个参与的成员。
呀呀呀不要说咱家是来打广告的~~
TypechoFramework的思路跟一般的PHP MVC框架不同,尝试接受TF的思路吧。
不幸的是,一般PHP MVC的开发思路已经成了PHPer中的主流。不管是Typecho还是TF,现在想让大家转变观念来接受会很难!
TP是个好博客,但是开发思路我很不适应!