8.1.2.ApiAdapter

ApiAdapter Api处理器适配器

操作参数解析规则

  1. 如果有类名或接口类型声明:从容器中获取,如果容器中没有,则尝试创建实例,比如\main\models\Sites $mSites;
  2. 根据变量名称从$_GET/$_POST中获取值,如果是post请求则从$_POST中,否则从$_GET 比如$id=$_GET['id'];
  3. 如果$_GET/$_POST中没有数据,尝试获取默认值,$name='';
  4. 获取到值,如果有普通类型声明则格式化数据,$id=(int)$_GET['id'];
public function index(int $id,float $f,bool $b,\main\models\Sites $mSites,$name=''){}

类型声明约束

类名或接口类型声明

<?php
namespace main\controller;
/**
 * 控制器类
 */
class Index extends Base{
    /**
     * 控制器操作
     */
    public function index(\main\models\Sites $mSites,$id){

    }
}
?>

普通类型声明,php7才支持

有些类型声明的输入数据会被强制转换

switch($type){
    case 'int':     $data=(int)$data;break;
    case 'float':   $data=(float)$data;break;
    case 'bool':    $data=(bool)$data;break;
    case 'array':   $data=(array)$data;break;
}

案例:

//index.php/index/index?id=123&f=4.56&b=1&name=qingmvc
<?php
declare(strict_types=1);
namespace main\controller;
/**
 * 控制器类
 */
class Index extends Base{
    /**
     * 控制器操作
     */
    public function index(int $id,float $f,bool $b,\main\models\Sites $mSites,$name=''){

    }
}
?>