例如,看看這個 php 代碼:
class AuthController extends Controller {
public function store(LoginRequest $request, int $id) {
// code...
}
}
我想獲取方法的引數型別串列AuthController::store()。
例如,這樣做:
print_r(get_arg_types('AuthController::store'));
應該回傳:
Array (
[0] => LoginRequest
[1] => int
)
現在,這get_arg_types()還不存在,但我想創建和使用它。有辦法嗎?
uj5u.com熱心網友回復:
首先反映類,然后是方法,然后是引數。
<?php
class Controller {}
class AuthController extends Controller {
public function store(LoginRequest $request, int $id) {
// code...
}
}
$ref = new ReflectionClass('AuthController');
$methods = $ref->getMethods();
$params = $methods[0]->getParameters();
foreach ($params as $param)
var_dump($param->getType()->getName());
輸出
字串(12)“登錄請求” 字串(3)“整數”
操場!
uj5u.com熱心網友回復:
是的,您正在尋找的是Reflection,而 php 有一系列的功能來做這些事情。
這很可能會讓你上路:ReflectionMethod。這是一些更通用的背景資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/387364.html
