- 类注解,设置在 Controller 类上,标记当前类是一个http控制器类
显式指定路由前缀: @Controller(prefix="/route") 或 @Controller("/route")
隐式指定路由前缀: @Controller() 默认自动解析 controller class 的名称,并且使用驼峰格式。
比如:
/**
* action demo
*
* @Controller("/index")
*/
class IndexController
{
- @RequestMapping 方法注解,用于控制类的Action方法上。
/**
* @RequestMapping(route, method)
*/
public function some() {}
注解参数:
route 设置路由path,也是默认参数。
method 设置允许的请求方法,可以多个。 e.g. GET POST。
示例:
显式指定路由后缀: @RequestMapping(route="index")或 @RequestMapping("index")
隐式指定路由后缀: 不使用 @RequestMapping 或者使用 @RequestMapping(), 默认解析方法名为后缀
限定HTTP方法: @RequestMapping(route="index", method=RequestMethod::GET) 指定路由支持的HTTP方法,默认是支持GET和POST
比如 method={RequestMethod::POST,RequestMethod::PUT} 设置路由支持 POST 和 PUT
指定路由参数: @RequestMapping(route="anyName/{name}"),Action 方法中可以直接使用 $name 作为方法参数
- 创建实体类必须添加
use Swoft\Db\Types;
- 控制器中 添加注入逻辑层(写在注释部分)
/**
* 注入逻辑层
* @Inject()
* @var AdDao
*/
private $ad;
注意添加:
use Swoft\Bean\Annotation\Inject;
use App\Models\Dao\AdDao; (对应的dao类)
- devTool 配置
- .在 config/beans/base.php 添加 HTTP 中间件让 DevTool 介入请求声明周期
- .DevTool 配置,用于标识是否启用某些功能(config/properties/app.php),如不存在可自行添加配置
- 将 vendor\swoft\devtool\web\dist\devtoo 的devtool复制到 public 下
- 通过浏览器访问
SCHEME://HOST:PORT/__devtool(e.g. http://127.0.0.1:80/__devtool)
- 获取请求数据
在括号中添加Request $request
$request->query(); 获取所有GET参数
$request->query('name', 'defaultName'); 获取name参数默认值defaultName
$request->post(); 获取所有POST参数
$request->input(); 获取所有参,包括GET或POST