zentaoPHP框架的两种请求方式

2014-08-07 16:25:10
王春生
14265
最后编辑:潘仙芝 于 2015-01-09 14:01:50
简介:zentaoPHP框架的两种请求方式

zentaoPHP框架共支持两种方式,一种是传统的GET方式,一种是静态友好的方式。

一、传统GET方式

可以在config/my.php里面设置requestType为GET来启用GET方式。当打开GET方式之后,访问地址格式如下:

index.php?m=$moduleName&f=$methodName&$param1=$value1&param2=valur2&t=html

m: 代表模块名称,比如m=blog,则代表访问blog模块。

f: 代表要访问的模块control里面的方法名,比如f=edit,代表访问blog/control.php里面定义的edit方法。

t: 代表模板类型,默认是html,比如f=edit&t=html,对应的模板文件是blog/view/edit.html.php。

其他的都是参数,也就是变量中指定的方法的参数。比如id=1,则代表终调用blog/control.php里面的edit方法,并向其传id=1的参数。

二、静态友好方式

静态友好方式需要webserver的url重写支持。如果是使用apache作为webserver的话,框架已经自带了.htaccess文件,里面已经包含了url重写规则。

如果是nginx,需要配置下面的参数:


 location / 
 {
     try_files $uri $uri/ /index.php?$args;
 }

 location ~ \.php$ 
 {
     fastcgi_pass  unix:/var/run/php5-fpm.sock;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     fastcgi_param PATH_INFO $request_uri;
     include modules-enabled/fastcgi.conf;
 }
与此同时还需要修改config/my.php,把requestType设置成PATH_INFO。还有一个变量分隔符,需要设置。框架默认的是短横线:-。
 比如访问http://localhost/zentaophp/blog/view/179.html:blog为模块名,view是方法名,179是参数,.html则代表了模板的类型。


评论列表
yyt 2018-03-08 11:53:44
为什么使用PATH_INFO模式在对应的控制器中获取不到路由传递的参数
王春生 2018-03-14 08:37:59
你要在函数里面定义参数。
尜尜 2017-11-20 20:15:07
论坛回帖和发帖功能,如果帖子内容有附件,后台取不到post提交的所有数据,是怎么回事? 下载的dome源码未修改的也是一样,取不到post提交的所有数据,但是如果不传附件就可以获取到
王春生 2017-11-22 16:59:25
检查附件是否上传成功。
yzxTest 2016-07-27 10:30:45
url参数中的值存在空格该怎么处理,参数值带空格的请求会返回bad request
王春生 2016-07-29 10:39:54
用helper::safe64Encode编码
张新 2016-07-08 08:42:41
PATH_INFO方式下参数中有中划线传参就异常了
王春生 2016-07-10 14:20:20
参数里面有中划线的话,用helper 里面的safe64Encode() 编码。
xcc 2016-06-17 14:22:59
nginx重写没作用,而且都指向index了
王春生 2016-06-20 16:48:29
那改成GET方式试试吧。
ok 2016-03-25 15:07:08
怎么把index.php去掉
王春生 2016-03-28 08:26:28
webserver需要支持url重写。
1/1
发表评论
评论通过审核后显示。