PHP Conference Japan 2024

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getNumberOfRequiredParameters取得必要參數的數量

說明

public ReflectionFunctionAbstract::getNumberOfRequiredParameters(): int

取得函式定義的必要參數數量。

參數

此函式沒有參數。

回傳值

必要參數的數量。

新增筆記

使用者貢獻的筆記 2 則筆記

cesar at magic3w dot com
9 年前
值得注意的是,這個函式會將出現在必要參數之前的選用參數也視為必要參數。這點很好,因為它允許您驗證函式是否會收到足夠的參數來運作,無論這些參數位於何處。

<?php

class MyTest() {
public function
test($a = null, $b) {}
public function
test2($a = null, $b, $c = null) {}
}

//建立反射
$r = new \ReflectionMethod('MyTest', 'test');
$r2 = new \ReflectionMethod('MyTest', 'test2');

//驗證數量
echo 'Test: ' . $r->getNumberOfRequiredParameters(); //輸出:2
echo 'Test2: ' . $r2->getNumberOfRequiredParameters(); //輸出:2

?>
sebastian at sebastian-eiweleit dot de
11 年前
<?php
namespace ExampleWorld;
// 這個類別
class helloWorld {
/* 具有兩個必要參數的方法 */

public function requiredTwoArguments ( $var1, $var2 ) {
// 一些程式碼 ...
}

/* 具有兩個參數的方法,但只有一個是必要的 */
public function requiredOneArgument ( $var1, $var2 = false ) {
// 一些程式碼 ...
}
}

$r = new \ReflectionMethod ( 'ExampleWorld\helloWorld', 'requiredTwoArguments' );
echo
$r->getNumberOfRequiredParameters ();

$r = new \ReflectionMethod ( 'ExampleWorld\helloWorld', 'requiredOneArgument' );
echo
$r->getNumberOfRequiredParameters ();

// 輸出:2 1
To Top