Я хочу иметь возможность объявлять абстрактную функцию в родительском классе с неизвестным числом аргументов:
abstract function doStuff(...);
, а затем определять реализацию с набором намекающие аргументы:
/**
* @param int $userID
* @param int $serviceproviderID
*/
static function doStuff($userID, $serviceproviderID) {}
На данный момент лучший подход, который у меня есть, - это,
abstract function doStuff();
/**
* @param int $userID
* @param int $serviceproviderID
*/
static function doStuff() {
$args = func_get_args();
...
}
Но каждый раз, когда функция вызывается, я получаю кучу предупреждений об отсутствии аргумента из-за подсказок. Есть ли способ лучше?
Редактировать: Вопрос неверный, пожалуйста, не тратьте время на ответы. Вот то, что я искал, и, похоже, он работает без предупреждений.
abstract class Parent {
abstract function doStuff();
}
/**
* @param type $arg1
* @param type $arg2
*/
class Child extends Parent {
function doStuff($arg1, $arg2) {
...
}
}