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