jueves, 22 de junio de 2017
VARIABLES ESTATICAS
Declarar propiedades o métodos de clases como estáticos los hacen accesibles sin la necesidad de instanciar la clase. Una propiedad declarada como static no puede ser accedida con un objeto de clase instanciado (aunque un método estático sí lo puede hacer).
las clases estáticas siempre serán las mismas, no podrán ser cambiadas
<?phpfunction foo(){
static $int = 0; // correcto
static $int = 1+2; // correcto (a partir de PHP 5.6)
static $int = sqrt(121); // incorrecto (ya que es una función)
$int++;
echo $int;
}?>
class Foo{
public static $mi_static = 'foo';
public function valorStatic() {
return self::$mi_static;
}
}
class Bar extends Foo{
public function fooStatic() {
return parent::$mi_static;
}
}
print Foo::$mi_static . "\n";$foo = new Foo();
print $foo->valorStatic() . "\n";
print $foo->mi_static . "\n"; // "Propiedad" mi_static no definidaprint $foo::$mi_static . "\n";$nombreClase = 'Foo';
print $nombreClase::$mi_static . "\n"; // A partir de PHP 5.3.0print Bar::$mi_static . "\n";$bar = new Bar();
print $bar->fooStatic() . "\n";?>
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario