路由绑定

注解元中关于路由的操作比较多,主要有以下三类:


RequestMapping 控制器对应方法使用的注解元,用于绑定路由
Controller 控制器类使用的全局注解元,用于绑定该类下的全局路由前缀
onRoute 控制器对应方法使用的注解元,用于声明该方法不允许通过路由访问

RequestMapping注解元主要有3个参数:

  • route:路由规则
  • method:允许的请求类型,默认为空表示不限制,多个类型允许用|号间隔,例如:method="GET|POST"
  • title:路由描述,允许为空

Controller注解元只有1个参数:

  • prefix:路由规则

onRoute注解元没有参数,所以在使用的时候我们不需要在后面带()符号,只需要这样使用:@onRoute即可

使用案例如下:

<?php
namespace app\controller;
use x\Controller;

/**
 * @Controller(prefix="index")
*/
class Index extends Controller
{
    /**
     * @RequestMapping(route="/test", method="GET|POST", title="我是测试路由")
    */
    public function index() {
        return $this->fetch('我的路由是:index/test');
    }

    /**
     * @RequestMapping(route="/demo")
     * @onRoute
    */
    public function demo() {
        return $this->fetch('虽然我定义了路由,但用index/demo,你并不能访问我');
    }
}