Se pueden emplear propiedades trabajando con la clase en código y no con un objeto, siempre que estas propiedades sean estáticas.
Para ello lo único que hay que hacer es declarar la propiedad como estática, y un método set publico y estático.
De este modo se pueden almacenar datos en $dato, pero no podemos utilizar $this-> ya que no tenemos un objeto de la clase, pero eso PHP lo solventa con la palabra reservada self, que se utiliza para trabajar con métodos y propiedades estáticos.
Su uso quedaría así:
De esta forma ya tenemos nuestro dato guardado, y para usarlo se hace utilizando la expresión self::$dato como vemos a continuación:
Lo cual nos da como resultado:
mostrando self::$dato = 6
Pero puede resultar tedioso estar todo el tiempo utilizando la secuencia del self, de modo que se puede guardar como si de una variable se tratase, y trabajar con ella de la forma habitual:
En este caso hemos guardado el valor dentro de de una variable llamada $cuadrado, con la cual hemos hecho un cálculo y nos da como resultado:
mostrando self::$dato = 6
Ahora $numero es self::$dato = 6
62 = 36
Para ello lo único que hay que hacer es declarar la propiedad como estática, y un método set publico y estático.
<?php
class Matematica
{
static $dato;
public static function set_dato($valor)
{
...
}
}
?>
De este modo se pueden almacenar datos en $dato, pero no podemos utilizar $this-> ya que no tenemos un objeto de la clase, pero eso PHP lo solventa con la palabra reservada self, que se utiliza para trabajar con métodos y propiedades estáticos.
Su uso quedaría así:
<?php
class Matematica
{
static $dato;
public static function set_dato($valor)
{
self::$dato = $valor;
}
}
?>
De esta forma ya tenemos nuestro dato guardado, y para usarlo se hace utilizando la expresión self::$dato como vemos a continuación:
<?php
class Matematica
{
static $dato;
public static function set_dato($valor)
{
self::$dato = $valor;
echo '<p>mostrando self::$dato = ' . self::$dato . '<p>';
}
}
Matematica::set_dato(6);
?>
Lo cual nos da como resultado:
mostrando self::$dato = 6
Pero puede resultar tedioso estar todo el tiempo utilizando la secuencia del self, de modo que se puede guardar como si de una variable se tratase, y trabajar con ella de la forma habitual:
<?php
class Matematica
{
static $dato;
public static function set_dato($valor)
{
self::$dato = $valor;
echo '<p>mostrando self::$dato = ' . self::$dato . '<p>';
$numero = self::$dato;
echo '<p><b>Ahora $numero es self::$dato = </b>' . $numero . '</p>';
$cuadrado = $numero * $numero;
echo '<p>' . $numero . '<sup>2</sup> = ' . $cuadrado . '</p>';
}
}
Matematica::set_dato(6);
?>
En este caso hemos guardado el valor dentro de de una variable llamada $cuadrado, con la cual hemos hecho un cálculo y nos da como resultado:
mostrando self::$dato = 6
Ahora $numero es self::$dato = 6
62 = 36
No hay comentarios:
Publicar un comentario