路由绑定

  1. 路由绑定可以简化 URL 和路由规则的定义,可以绑定到模块/控制器/操作;
    2. 由于本身不是规则,需要关闭强制路由来测试,本身绑定并不是定义路由;
    3. index 模块/User 控制器/read:http://.../index/user/read/id/5;
    1. //绑定路由到 index 模块
    2. Route::bind('index);
    3. http://.../user/read/id/5
    4. //绑定路由到 User 控制器
    5. Route::bind('index/User);
    6. http://.../read/id/5
    7. //绑定路由到 read 操作
    8. Route::bind('index/User/read);
    9. http://.../id/5
  2. 当我们再创建一个 admin 模块,只要绑定到 admin 模块,开启路由就切换了;
    1. Route::bind('admin');
    2. Route::get('user/:id','/user/read');
    3. //未绑定则:admin/user/read

    路由别名

  3. 给一个控制器起一个别名,可以通过别名自动生成一系列规则;
    2. 比如,给 index 模块下的 User 控制器创建别名:user,省去了模块 index;
    1. Route::alias('user', 'index/User');
    2. http://localhost:8000/user/create
    3. http://localhost:8000/user/edit/id/5
    4. http://localhost:8000/user/read/id/5
  4. 也可以直接绑定到类,来实现相同的效果;
    1. Route::alias('user', '\app\index\controller\User');
  5. 也支持别名设置限定条件,比如 ext 等;
    1. Route::alias('user', 'index/User', ['ext'=>'html']);
    2. Route::alias('user', 'index/User')->ext('html');
    PS:这两个知识点,部分功能有些问题;而别名路由和前面的快捷路由在 PHP6 已经废
    弃,产生的问题自然在新版也没了;