Я хочу иметь возможность объявлять абстрактную функцию в родительском классе с неизвестным числом аргументов:
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) {
...
}
}