Вы не можете.Подумайте об этом, если бы вы могли это сделать, как PHP мог бы определить, должен ли третий аргумент быть $notreq
, $notreq2
или $notreq3
?Менее хакерский способ будет выглядеть следующим образом:
Test($req, $alsoreq, NULL, NULL, $notreq3);
Поскольку вы ясно даете понять, что первые два необязательных аргумента NULL
.
Выберите порядки аргументов с умом, поэтому те, которыепривыкнуть чаще приходить первым.
В качестве альтернативы вы можете использовать массив:
public function Test($req, $alsoreq, array $notreq) { ... }
// no optional args
Test($req, $alsoreq);
$optional = array('arg1' => 'something', 'arg2' => 'something else');
Test($req, $alsoreq, $optional);
$optional = array('arg3' => 'hello');
Test($req, $alsoreq, $optional);