Se denomina encadenar metodos, podes buscarlo en google o tomar este codigo como referencia,
no es funcional porque obviamente le faltan cosas para generar un thumb y algunas validaciones, pero te sirve para entender como encadenar. El secreto esta en "return $this;"
Y por si a alguien no le queda, es un mero ejemplo, no es algo funcional. Es para ilustrar la idea.
Código PHP:
Ver original<?php
Class Thumbs{
private $path;
private $width = 50;
private $height = 50;
/**
*
*/
function __construct($path = null){
$this->thumb = $path;
}
}
/**
*
*/
public function width($w = null){
$this->width = $w;
return $this;
}
/**
*
*/
public function height($h = null){
$this->height = $h;
return $this;
}
/**
*
*/
public function generate($file){
$w = $this->width;
$h = $this->height;
$path = $this->path;
/*
* codigo para generar el thumb
* con las medidas generadas a
* travez de encadenamiento
*/
return $something;
}
}
?>
Con una clase así, podes hacer lo siguiente:
Código PHP:
Ver original$thumb = new Thumbs('imagen.jpg'); // inicio la clase
// reescribo todos los parametros
$procesada = $thumb->width(150)->height(150)->generate('mi_nuevo_thumb.jpg');
// o dejando los valores por defecto
$procesada = $thumb->generate('mi_nuevo_thumb.jpg');
Espero te sirva como base para que lo deseas hacer.
Saludos.