在php中调用预先填充参数的方法

问题描述 投票:0回答:1

我创建了一个带有预填充参数的方法(用于标准行为)。但当预填充的参数位于方法的中间或开始但位于方法的末尾时,我无法调用该方法。

方法如下:

private function doSomething(int $id, string $type = 'standard', int $status) {
 return $type;
}

现在,当我想调用这个方法而不写入第二个值时,它会给我一个错误,我不能用更少的字符来调用它。

//Somewhere in my class..
$foo = $this->doSomething($id, $status);

但是,当我将预先填写的参数放在最后时,它可以正常工作:

private function doSomething(int $id, int $status, string $type = 'standard') {

当将预填充的参数放入其中/开始时,我是否必须调用此方法?像这样:

$foo = $this->doSomething($id, empty, $status);

或者我只需要在方法末尾编写预先填充的参数?

php methods parameters optional-parameters
1个回答
0
投票

要结束这个问题,我可以在不需要参数时将参数设为可选。

所以我只是调用该函数,不需要的参数是“null”。

private function doSomething(int $id, int $status = null, string $type = 'standard') {

接下来的电话是:

$this->doSomething(2, null);

© www.soinside.com 2019 - 2024. All rights reserved.