Ver Mensaje Individual
  #12 (permalink)  
Antiguo 10/07/2013, 17:47
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 9 meses
Puntos: 292
Respuesta: Excepciones apropiadas

Cita:
Iniciado por masterpuppet Ver Mensaje
@Italico76, eso es buscarle el pelo al huevo en el contexto del OP es mas que suficiente, y si necesitas tanta introspección utiliza Reflection.
Me parece importante chequear si el constructor es privado.. pues en clases con todos metodos estaticos es buena idea impedir la instanciacion...

Ahora... nada de esto es infalible .... pues ni siquiera con Reflection puedes darte cuenta que un Singleton es instanciable ... o si ?


Voy a cambiar una parte del codigo:

Código PHP:
Ver original
  1. foreach ($classes as $class)
  2. {
  3.     if (class_exists($class)){
  4.         echo "$class es una clase... <br/>";
  5.         $metodos_publicos = get_class_methods($class);        
  6.         $public_construct_exists = array_search('__construct',$metodos_publicos);
  7.  
  8.         if (method_exists($class,'__construct')){
  9.             echo "Constructor existe en $class<br/>";            
  10.             if ($public_construct_exists)
  11.                 echo "Constructor es Publico => $class es INSTANCIABLE";            
  12.                
  13.         }else{
  14.             echo "Constructor NO existe en $class<br/>";
  15.             if (!$public_construct_exists){
  16.                 echo '... pero SI es instanciable (de no ser abstracta)<br/>';
  17.             }
  18.                
  19.         }
  20.  
  21.     }else
  22.         echo "$class NO es una clase (!) <br/>";
  23.  
  24.     echo '<p/>';
  25. }


Ahi me cubro del caso de mas casos ... ojala no se considere "duplicado" pues mi unica intencion es ayudar
__________________
Salu2!

Última edición por Italico76; 10/07/2013 a las 18:03