我创建了一个带有预填充参数的方法(用于标准行为)。但当预填充的参数位于方法的中间或开始但位于方法的末尾时,我无法调用该方法。
方法如下:
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);
或者我只需要在方法末尾编写预先填充的参数?
要结束这个问题,我可以在不需要参数时将参数设为可选。
所以我只是调用该函数,不需要的参数是“null”。
private function doSomething(int $id, int $status = null, string $type = 'standard') {
接下来的电话是:
$this->doSomething(2, null);