Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/01/2010, 20:23
Avatar de maturano
maturano
 
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: Posible bug en php ?

Cita:
Iniciado por masterojitos Ver Mensaje
te deberia devolver true puesto que la funcion es publica.... si deseas que retorne false.... al atributo $foo tendrias que asignarle static no private.
No habla de ninguna función, es una propiedad del objeto, y debería comportarse igual tanto static como private. ¿Por qué dices eso?

Aparentemente sí es un bug ...

Código PHP:
Ver original
  1. <?php
  2.  
  3. class ExampleSuperClass
  4. {
  5.     private $foo;
  6.     static protected $bar;
  7.  
  8.     private function foo()
  9.     {
  10.     }
  11.  
  12.     public function propertyFooExists()
  13.     {
  14.         return property_exists($this, 'foo');
  15.     }
  16.  
  17. }
  18.  
  19. class ExampleSubClass extends ExampleSuperClass
  20. {
  21.     public function methodExists()
  22.     {
  23.         return method_exists($this, 'foo');
  24.     }
  25.  
  26.     public function propertyBarExists()
  27.     {
  28.         return property_exists($this, 'bar');
  29.     }
  30. }
  31.  
  32. $example = new ExampleSubClass();
  33. var_dump($example->methodExists());
  34. var_dump($example->propertyFooExists());
  35. var_dump($example->propertyBarExists());

Con PHP 5.2.10:
Código:
bool(true)
bool(true)
bool(false)
Con PHP 5.3.0:
Código:
bool(true)
bool(false)
bool(true)
Salida esperada ¿?
Código:
bool(true)
bool(true)
bool(true)
...
__________________
I ♥ The Music!

Última edición por maturano; 20/01/2010 a las 20:33