php实现annotation,以Annotation形式设置路由

## Annotation格式路由写法

### **开发环境推荐使用此方式去生成路由规则**

在控制器中的Action都可以增加一个 @Route 的路由规则,如果`Config::router('auto_build')` 为``true``,会自动生成对应的路由规则, 为了保证性能请在生产环境请将`Config::config('auto_build')`设置为`false` 。

### REQUEST_TYPE 类型

| 描述 | REQUEST_TYPE |

| --- | --- |

| 匹配所有请求类型 | ALL |

| 匹配GET请求类型 | GET |

| 匹配POST请求类型| POST |

| 匹配PUT请求类型| PUT |

| 匹配DELETE请求类型| DELETE |

| 匹配HEAD请求类型| HEAD |

| 匹配OPTIONS请求类型| OPTIONS |

@Route [REQUEST_TYPE = ALL] 静态规则(多个规则空格隔开)

例如 ``System/Home/IndexController``

```

namespace App\System;

use GFPHP\Controller;

class IndexController extends Controller{

/**

* 访问 域名/index.html 将会指向此Action

* @Route GET index.html

* @return mixed|String

*/

public function indexAction()

{

return 'hello this is index.html';

}

/**

* GET 访问 list.html和list-(\d+).html 会指向此Action

* @Route GET list.html list-(\d+).html

* @param int $page

* @return mixed|String

*/

public function listAction($page = 1)

{

return 'hello this is list-' . $page . '.html';

}

/**

* POST访问 add.html 将会指向此Action

* @Route POST add.html

* @return mixed|String

*/

public function addAction()

{

return 'hello this is add.html';

}

/**

* 默认匹配所有请求类型

* @Route all.html

* @return mixed|String

*/

public function all_typeAction()

{

return 'hello this is all.html';

}

}

```

下为自动生成的对应 `Annotation.php` 路由规则

~~~

/**

* Created by GFPHP.

*/

/**

* 访问 域名/index.html 将会指向此Action

* @Route GET index.html

* @return mixed|String

*/

\GFPHP\Router::get('index.html', 'Home/Index@index');

/**

* GET 访问 list-(\d+).html 会指向此Action

* @Route GET list.html list-(\d+).html

* @param int $page

* @return mixed|String

*/

\GFPHP\Router::get('list.html', 'Home/Index@list');

\GFPHP\Router::get('list-(\d+).html', 'Home/Index@list');

/**

* POST访问 add.html 将会指向此Action

* @Route POST add.html

* @return mixed|String

*/

\GFPHP\Router::post('add.html', 'Home/Index@add');

/**

* 默认匹配所有请求类型

* @Route all.html

* @return mixed|String

*/

\GFPHP\Router::post('add.html', 'Home/Index@all_type');

~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值