关于PHP部分框架中 action 参数绑定的原理
例如THINKPHP
class xxController
{
public function index($id,$age)
{
//这些参数是通过$_GET['id'],$_GET['age']来的
}
}
//按PHP的实现方法大致应该是以下
$ctr = new xxController();
return $ctr->index(); //他这里怎么有知道应该传哪些参数呢?!
//本人愚钝,我想不是这样做的,那应该是怎么实现呢?!!请各位大神讲解一下其中的实现原理!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
反射,通过反射得的类的方法的参数列表。然后对应起来就可以。
保存为:reflection.php
这种情况的框架都有一个“路由定义”,客户端只能匹配到定义好的路由,包含了路径、Method、以及请求参数。
拿 Laravel 举例:
在匹配路由过程,因为定义的这个路由包含了
{articleId}
这个约定好形式的占位符,路由模块会匹配包含 articleId 的 URL,并获取到参数值传给对应 Controller 的 action。