基本クラスに任意の数の引数を取ることができるメソッドがあります。このメソッドは、最初のメソッドに渡された引数を使用して任意の数の引数を取ることができるサードパーティ オブジェクトのメソッドを呼び出す必要があります。
呼び出されたメソッドのシグネチャを変更して配列またはオブジェクトを受け入れることができないという制約を強化するために呼び出されるのは、サードパーティ オブジェクトであることに言及します。
例:
<?php
class Example {
private $thirdPartyObject = null;
public function methodOne() {
$arguments = func_get_args();
$this->thirdPartyObject = new ThirdPartyObject();
$this->externalObject->methodName(/* pass on variable number of arguments here */);
}
}
$exampleObject = new Example();
$exampleObject->methodOne('a', 'b', 'c');
に渡される引数の数が事前にわかっている場合はExample->methodOne()
、同じ数の引数を に渡すことができますThirdPartyObject->methodName()
。
に渡される引数の数が事前にわからない場合、Example->methodOne()
これらの引数を に渡すことができThirdPartyObject->methodName()
ますか?
この場合、ThirdPartyObject->methodName()
次のような 1 つ以上の引数を指定して呼び出されます。
<?php
$thirdPartyObject = new ThirdPartyObject();
$thirdPartyObject->methodName('a');
$thirdPartyObject->methodName('a', 'b');
$thirdPartyObject->methodName('a', /* ... */, 'N');