Ver Mensaje Individual
  #10 (permalink)  
Antiguo 19/05/2011, 08:45
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Validación valores seteados en una clase

Cita:
Iniciado por GatorV Ver Mensaje
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 original
  1. public function setRequest($request)
  2.     {
  3.         if (is_string($request)) {
  4.             if (!class_exists($request)) {
  5.                 require_once 'Zend/Loader.php';
  6.                 Zend_Loader::loadClass($request);
  7.             }
  8.             $request = new $request();
  9.         }
  10.         if (!$request instanceof Zend_Controller_Request_Abstract) {
  11.             require_once 'Zend/Controller/Exception.php';
  12.             throw new Zend_Controller_Exception('Invalid request class');
  13.         }
  14.  
  15.         $this->_request = $request;
  16.  
  17.         return $this;
  18.     }

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.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos