No se si se aplica exactamente a como lo quieres, y tampoco se si es lo que usa Laravel pero existe el metodo magico __toString();
Que se reduce básicamente a:
Básicamente lo que hace es detectar cuando se produce una salida en vez de seguir encadenamiento y simplemente cumple lo que le digas. Espero que te sirva.
Saludos
Que se reduce básicamente a:
Código (php) [Seleccionar]
class Chaining {
protected $string = '';
public function a(){
$this->string .= 'a';
return $this;
}
public function b(){
$this->string .= 'b';
return $this;
}
public function __toString(){
return $this->string;
}
}
Código (php) [Seleccionar]
$chain = new Chaining();
$a = $chain->a();
echo $a;
Código (log) [Seleccionar]
a
Código (php) [Seleccionar]
$chain = new Chaining();
$a = $chain->a()->b()->a();
echo $a;
Código (log) [Seleccionar]
aba
Básicamente lo que hace es detectar cuando se produce una salida en vez de seguir encadenamiento y simplemente cumple lo que le digas. Espero que te sirva.
Saludos