Archivo del sitio

__PHP_Incomplete_Class

A quien no le ha pasado que cuando esta trabajando con autoload y tiene objetos en session y luego quiere trabajar con estos objetos aparecen los objetos incomprensibles e inaccesibles __PHP_Incomplete_Class
o un ejemplo de var_dump al objeto de session :

object(__PHP_Incomplete_Class)[1]
  public '__PHP_Incomplete_Class_Name' => string 'octavius\controlador\intranet\usuario\UsuarioTO' (length=47)
  private 'idUsuario' (octavius\controlador\intranet\usuario\UsuarioTO) => string '2' (length=1)
  private 'strPassword' (octavius\controlador\intranet\usuario\UsuarioTO) => null
  private 'Rol' (octavius\controlador\intranet\usuario\UsuarioTO) => 
    object(__PHP_Incomplete_Class)[2]

Bueno el problema es el siguiente, se hace el session_start antes del llamado del autoload, entonces no es capaz de detectar las clases de los objetos o las referencias de estos.
La solución es muy simple:

Primero defines tu auload, o lo incluyes, y luego después de eso agregas el session_start. Y podrás trabajar con tus objetos.

Después del arreglo el var_dump quedaría así:

object(octavius\controlador\intranet\usuario\UsuarioTO)[2]
  private 'idUsuario' => string '2' (length=1)
  private 'strPassword' => null
  private 'Rol' => 
    object(octavius\controlador\intranet\rol\RolTO)[3]
      private 'idRol' => string '5' (length=1)
      private 'strNombreRol' => string 'Prueba-Pablo' (length=12)
      private 'Modulos' => 
        array (size=3)

Espero que les sirva, saludos!.

Anuncios
A %d blogueros les gusta esto: