## 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');
~~~