略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: ReflectionFunctionAbstract::getNumberOfRequiredParameters

2024-11-15

ReflectionFunctionAbstract::getNumberOfRequiredParameters

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

ReflectionFunctionAbstract::getNumberOfRequiredParameters获取必须输入参数个数

说明

public ReflectionFunctionAbstract::getNumberOfRequiredParameters(): int

获取函数定义中,必须输入的参数个数

警告

本函数还未编写文档,仅有参数列表。

参数

此函数没有参数。

返回值

必须输入的参数个数

add a noteadd a note

User Contributed Notes 2 notes

up
6
cesar at magic3w dot com
6 years ago
It's interesting to note that this function will treat optional parameters that come before a required parameter as required too. This is good since it allows you to verify that the function will be receiving enough parameters for the it to work, regardless where they are located.

<?php

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

//Create the reflection
$r  = new \ReflectionMethod('MyTest', 'test');
$r2 = new \ReflectionMethod('MyTest', 'test2');

//Verify the numbers
echo 'Test: ' . $r->getNumberOfRequiredParameters()); //Output: 2
echo 'Test2: ' . $r->getNumberOfRequiredParameters()); //Output: 2

?>
up
4
sebastian at sebastian-eiweleit dot de
8 years ago
<?php
namespace ExampleWorld;
// The Class
class helloWorld {
   
/* Method with two required arguments */

   
public function requiredTwoArguments ( $var1, $var2 ) {
       
// Some code ...
   
}

   
/* Method with two arguments, but just one is required */
   
public function requiredOneArgument ( $var1, $var2 = false ) {
       
// Some code ...
   
}
}

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

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

// Output: 2 1

官方地址:https://www.php.net/manual/en/reflectionfunctionabstract.getnumberofrequiredparameters.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3