multiple herencia example ejercicios ejemplos clases __construct php class oop chaining

herencia - Cómo encadenar objetos en PHP5: $ this-> foo-> bar-> baz()



herencia multiple php (3)

Para encadenar llamadas de función como esa, generalmente retorna a sí mismo (o a esto) de la función.

¿Cómo hago objetos encadenados en clases PHP5? Ejemplos:

$myclass->foo->bar->baz(); $this->foo->bar->baz(); Not: $myclass->foo()->bar()->baz();

Ver también:
http://www.talkphp.com/advanced-php-programming/1163-php5-method-chaining.html


Siempre que su $ myclass tenga un miembro / propiedad que sea una instancia en sí, funcionará así.

class foo { public $bar; } class bar { public function hello() { return "hello world"; } } $myclass = new foo(); $myclass->bar = new bar(); print $myclass->bar->hello();


en realidad, esta pregunta es ambigua ... para mí la respuesta de @ Geo es correcta.

Lo que (@Anti) dice podría ser composición

Este es mi ejemplo para esto:

<?php class Greeting { private $what; private $who; public function say($what) { $this->what = $what; return $this; } public function to($who) { $this->who = $who; return $this; } public function __toString() { return sprintf("%s %s/n", $this->what, $this->who); } } $greeting = new Greeting(); echo $greeting->say(''hola'')->to(''gabriel''); // will print: hola gabriel

?>