Jsnpp框架里面带参数的路由模式
发布时间: 2021年5月9日 下午3:50 作者: Jsnpp 访问量: 69

我们在《Jsnpp框架的基本路由模式》这篇教程里面介绍了Jsnpp框架的基本路由规则,当然在实际使用中并不一定都是基本的路由,例如我们希望给方法传递参数,那么这时的路由又该是怎样的呢?

这一篇我就来介绍带参数的路由,带参数的路由规则如下:

http://域名/控制器/方法/参数名/参数值

我们比较一下前面学习过的基本路由,可以发现带参数的路由实际也是很简单的,就是在地址后面加上参数名和参数值。

那么如果有多个参数,又该怎样呢?

看下面这个多参数的例子:

http://域名/控制器/方法/参数名1/参数值1/参数名2/参数值2/参数名3/参数值3

我们看上面的例子就明白了,有多个参数的话,只需要依次写上“参数名/参数值”就可以了。

当我们访问这个地址的时候,参数就会自动传入方法。

那么我们的方法又是怎么来接收这些参数的呢?

我们看一个方法的示例:

namespace app\controller;

use jsnpp\Controller;

class Index extends Controller
{
public function index($param)
{
return $param['参数名'];
}
}

上面的代码是一个简单的示例代码,主要是用于说明参数怎么来接收。

我们看到“index”方法有一个参数“$param”,这个参数“$param”就是用来接收实际参数的。

我们还可以从“return $param['参数名'];”语句里面看到参数是怎么运用的。

在Jsnpp框架里面,不管有多少参数被传递进来,方法里面都只需要一个参数来接收。这个接收参数是一个数组,数组的键就是参数名,数组的值就是参数值。

例如上面的代码里面,我们用“$param”来接收参数,如果只有一个参数,那么这个参数值就是“$param['参数名']”。如果有多个参数,那么分别是这样的:“$param['参数名1']”,“$param['参数名2']”,以此类推。

例如下面这个例子:

http://域名/控制器/方法/name/mike/age/20
我们在控制器方法里面就可以使用“$param['name']”和“$param['age']”分别来获取两个参数的值。
出错
提交成功!
评论已经提交。
我们已经收到您的反馈!
/index/like.html
/index/dislike.html
/index/postpassword.html
Jsnpp
自豪地采用 Jpwrt