Cita:
Iniciado por GatorV De hecho a mi parecer es el mismo método setter el que debe de validar que tipo de dato, por ejemplo en Zend Framework cuando llaman al set, hace la validación por ejemplo:
Código PHP:
Ver originalpublic function setRequest($request)
{
require_once 'Zend/Loader.php';
Zend_Loader::loadClass($request);
}
$request = new $request();
}
if (!$request instanceof Zend_Controller_Request_Abstract) {
require_once 'Zend/Controller/Exception.php';
throw new Zend_Controller_Exception('Invalid request class');
}
$this->_request = $request;
return $this;
}
La idea es que el setter mismo valide que tipo de datos tenga para que la clase sea consistente.
Saludos.
Interesante, muchas de las lectuas lo que indican es que los setters y getters solo deben ser para el propósito de asignar y leer, por cuestiones de encapsulamiento a las propiedades. Las validaciones se hacen por otro lado. Siempre he tenido la duda si hacerlo en el setter por cuestión de eliminar procesos adicionales. Pero ya veo que hay diferencias en el estilo de programar.