PHP - beliebig viele Argumente im Konstruktor an Eltern-Konstruktor weiterreichen

Version vom 4. April 2019, 09:01 Uhr von Alpha (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Online-Beispiel : * https://repl.it/@alphac/funcnumargs <source lang="php"> class A extends B{ public function __construct(){ call_user_func_array(…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Online-Beispiel :

class A extends B{
	
	public function __construct(){
		
		call_user_func_array(
			array( $this , 'parent::__construct'),
			func_get_args()
		);

	}
}

class B{

	private $local_args;

	public function __construct(){
		
		$this -> local_args = func_get_args();
		
	}

	public function __toString(){
		return (string)( 
			implode( ';' , $this -> local_args )
		);
	}
}

echo new A(1,2,3) . PHP_EOL;