PHP: Могу ли я объявить абстрактную функцию с переменным количеством аргументов?

Я хочу иметь возможность объявлять абстрактную функцию в родительском классе с неизвестным числом аргументов:

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) {
        ...
    }
}
12
задан 15 August 2011 в 18:24
поделиться