使用依賴注入提供請求引數注入功能
Thinkphp >= 6.0
Laravel >= 5.0
composer require cxx/param-inject
新增服務(支援tp和laravel)
服務使用方式請檢視官方文件(Thinkphp, Laravel)
Thinkphp:
Cxx\ParamInject\ThinkParamService
Laravel:
Cxx\ParamInject\LaravelParamService
建立引數類(名稱空間隨意,只要能被載入)
use Cxx\ParamInject\Param; /** * 分頁引數類(所有引數類都需要繼承 Cxx\ParamInject\Param) */ class Page extends Param { // 屬性訪問性必須是 public /** * @var int */ public $page = 1; // 註釋規則必須要有 @var 後面跟屬性型別 /** * @var int */ public $limit = 10; // 也可以寫在行內 /** @var int */ public $limit = 10; // 不帶預設值,均為 null /** @var int */ public $limit; }
使用
控制器中
public function index(Page $page) { dd($page); }
在路由閉包中也類似
Route::post('/test', function (Page $page) { dd($page); });
使用方式在
Thinkphp
、Laravel
中一致
基礎型別
示例 | 備註 |
---|---|
@var int 或 @var integer | 整形 |
@var string | 字串 |
@var bool 或 @var boolean | 布林型別 |
@var float 或 @var double | 浮點型 |
@var mixed | 此型別不會對資料進行轉換 |
以上型別支援陣列形式 如@var int[]
@var int[][]
複合型別
示例 | 備註 |
---|---|
@var Page | 物件型別,Page是繼承Cxx\ParamInject\Param 的物件 |
@var Page[] | 物件陣列型別 |
物件型別裡面的屬性可以是基礎型別還可以是複合型別
本作品採用《CC 協議》,轉載必須註明作者和本文連結