Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

PHP OO Ayuda con variables

Estas en el tema de Ayuda con variables en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Tengo una variable llamada initialized la cuál en el construct es false y lo que deseo hacer es que, en la función buildpaththing si se ...
  #1 (permalink)  
Antiguo 13/02/2011, 00:39
Avatar de LanbreGroteo  
Fecha de Ingreso: agosto-2009
Ubicación: $Mx->['Veracruz']
Mensajes: 69
Antigüedad: 14 años, 8 meses
Puntos: 1
Pregunta Ayuda con variables

Tengo una variable llamada initialized la cuál en el construct es false y lo que deseo hacer es que, en la función buildpaththing si se demuestra que existe el archivo o la carpeta, cambie la variable initialized a true para después en algunas otras funciones decirles que si el fichero existe por lo tanto está inicializado y puede seguir con los códigos dentro de dicha sentencia.

Espero a ver sido lo bastante claro para que puedan ayudarme, por favor. Os dejo el código:

Código PHP:
Ver original
  1. class Unacosa
  2. {
  3.    
  4.     public $nombre = null;
  5.     public $handler = null;
  6.     public $source = null;
  7.    
  8.     private $path;
  9.     private $initialized;
  10.    
  11.        
  12.     const DS = '/';
  13.     const DEFAULT = 'default';
  14.    
  15.     public function __construct()
  16.     {
  17.         $this->path    = "unacosa/";
  18.         $this->initialized = $initialized;     
  19.     }
  20.    
  21.     public function buildPaththing($tFile=null)
  22.     {
  23.         if($tFile == null)
  24.             $tFile = $this->tName;
  25.            
  26.         foreach((array)$this->path as $thingpath) {
  27.             if (strpos('/\\', substr($thingpath, -1)) === false) {
  28.                 $thingpath .= self::DS;
  29.             }
  30.  
  31.             $fullpath = $thingpath . $tFile;
  32.             if (file_exists($fullpath))
  33.                 $initialized = true;
  34.                 echo $fullpath;
  35.         }
  36.     }
  37.        
  38.         public function getThing() {
  39.            
  40.             if($this->initialized) {
  41.                 $this->buildPaththing('thereis.tpl');
  42.             } else {
  43.                 ExceptionError::getException('Thing Error', 'Could not Initialized the Thing, 255);
  44.             }
  45.            
  46.            
  47.            
  48.         }
  49.    
  50.  
  51.        
  52. }

Dese ya, ¡Gracias!
  #2 (permalink)  
Antiguo 13/02/2011, 02:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con variables

aquí el problema es que siempre debes usar $this->initialized y jamás $initialized, simple y sencillamente porque $initialized no existe... (:

eso tanto al leer la variable, como al asignarla... de otro modo, ¿recibes algún error?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/02/2011, 10:59
Avatar de LanbreGroteo  
Fecha de Ingreso: agosto-2009
Ubicación: $Mx->['Veracruz']
Mensajes: 69
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Ayuda con variables

No recibo ninguno error, simplemente el de la Exception que puse, que no se ha inicializado.

Debo corregir también el construct:
Código PHP:
#
public function __construct()
    {
        
$this->path    "unacosa/";
        
$this->initialized false;     
    } 
Se construye la variable initialized como false, siempre. Y bueno, lo que deseo -como lo dije anteriormente- es que cuando se verifique que la carpeta o fichero existe me la cambie a true y seguir usándola con ese valor.

¡Muchas gracias por la respuesta!
  #4 (permalink)  
Antiguo 13/02/2011, 11:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con variables

Cita:
Iniciado por LanbreGroteo Ver Mensaje
Se construye la variable initialized como false, siempre. Y bueno, lo que deseo -como lo dije anteriormente- es que cuando se verifique que la carpeta o fichero existe me la cambie a true y seguir usándola con ese valor.
bueno, pues ¿que tan complicado es usar bien la variable?
Código PHP:
// MAL
$initialized true;
$initialized false;
$initialized 'lo que sea';

// BIEN 
$this->initialized true;
$this->initialized false;
$this->initialized 'lo que sea'
creo que no entendiste la forma de trabajar con OO, deberías leer el manual...

ya que al leer, o asignar propiedades de nuestro objeto debemos hacerlo siempre usando $this->, en caso de inicializar el objeto o bien, self:: por si la clase es estática...

la forma en que lo hacías al momento de asignar true a $initialized esta mal, ya que estabas asignando una variable local y no de clase...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:37.