Diferencia entre revisiones de «Plantilla:PHP/Declaraciones/Constantes»
De WikiEducator
(→Constantes predefinidas) |
|||
(16 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 7: | Línea 7: | ||
}} | }} | ||
</div> | </div> | ||
− | + | ===Declaración y uso de las constantes=== | |
<div class="slide"> | <div class="slide"> | ||
− | + | ;Constantes | |
*Se definen con la función '''''define()''''' | *Se definen con la función '''''define()''''' | ||
+ | *O con la palabra reservada '''''const''''' | ||
<source lang=php> | <source lang=php> | ||
define("IVA",0.21); | define("IVA",0.21); | ||
+ | const IVA_BASE = 0.06; | ||
+ | ..... | ||
+ | |||
$total=$base*(1+IVA); | $total=$base*(1+IVA); | ||
+ | $total=$base_2*(1+IVA_BASE); | ||
+ | |||
</source> | </source> | ||
− | ; | + | ;Identificador |
*Se usa el mismo criterio de construcción pero no empieza por $ | *Se usa el mismo criterio de construcción pero no empieza por $ | ||
*Se pueden definir y utilizar en cualquier momento que se necesiten. | *Se pueden definir y utilizar en cualquier momento que se necesiten. | ||
Línea 22: | Línea 28: | ||
<div class="slide"> | <div class="slide"> | ||
+ | *Para muchos casos puedo usar igualmente '''''const''''' y '''''define''''' | ||
+ | *Sin embargo hay una serie de diferencias que en algún caso pueden ser importantes | ||
+ | *Revisa la siguiente entrada | ||
+ | https://stackoverflow.com/questions/2447791/define-vs-const | ||
+ | *Las constantes, como toda expresión, también tienen tipo, que dependerá de su valor | ||
+ | {{Nota|Para visualizar el valor de una constante en una cadena, hay que concatenarla, ya que el identificador no tiene ningún carácter especial, como es en el caso de las variables | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | const IVA=0.21 | ||
+ | |||
+ | echo "Importe de iva ".IVA; | ||
+ | |||
+ | ?> | ||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | {{MRM_Actividad|Title=Declarando constantes| | ||
+ | Declarar dos constantes de diferente tipo y visualiza el tipo y el valor | ||
+ | {{plegable|hide|declarando constantes| | ||
+ | <source lang=php> | ||
+ | |||
+ | <?php | ||
+ | //Declaración de constantes de dos formas | ||
+ | const A =1; | ||
+ | define ("B", "Cadena"); | ||
+ | |||
+ | //Visualización de valores | ||
+ | echo "valor de la constante A ".A ."<br />"; | ||
+ | echo "valor de la constante B ".B."<br />"; | ||
+ | echo "tipo de la constante A ". gettype(A)."<br />"; | ||
+ | echo "tipo de la constante B ". gettype(B)."<br />"; | ||
+ | ?> | ||
+ | </source > | ||
+ | }} | ||
+ | }} | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | {{MRM_Actividad|Title=Declarando constantes| | ||
+ | *Haz un programa donde tenga declarado IVA_GENERAL e IVA_REDUCIDO | ||
+ | *El tipo de IVA es 21% y 10% respectivamente | ||
+ | *Informa de una factura donde se han comprado: | ||
+ | **3 barras de pan a 0.80 mas iva reducido | ||
+ | **5 bombillas a 5.4 mas iva general | ||
+ | *Muestra importe base, iva e importe total | ||
+ | *informa también del iva aplicado | ||
+ | {{plegable|hide|Declarando constantes| | ||
+ | |||
+ | <source lang=php> | ||
+ | <?php | ||
+ | |||
+ | const IVA_REDUCIDO =0.10; | ||
+ | define ("IVA_GENERAL" ,0.21); | ||
+ | |||
+ | echo "<h2>Compra realizada en fecha ".date()."</h2>"; | ||
+ | echo "<hr />"; | ||
+ | echo "3 barras de pan a 0.80 + ". 0.80*IVA_REDUCIDO ."= ". 0.80*(1+IVA_REDUCIDO)."Euros<BR />"; | ||
+ | echo "5 bombillas a 5.40 + ". 5.40*IVA_GENERAL ."= ". 5.40*(1+IVA_GENERAL)."Euros <BR />"; | ||
+ | echo "<h4>Iva aplicado:<h4>"; | ||
+ | echo "<h5>Iva general :".IVA_GENERAL ." <h4>"; | ||
+ | echo "<h5>Iva reducido :".IVA_REDUCIDO ." <h4>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | }} | ||
+ | }} | ||
+ | ;la función '''''define()''''' admite un tercer parámetro que le hace insensible a mayúscula-minúscula. | ||
+ | ;Observa el siguiente código e interpreta las salida | ||
+ | <source lang=php> | ||
+ | |||
+ | //Genera un warning, y funciona | ||
+ | define (SALUDO1 , "HOLA"); | ||
+ | echo "valor de saludo " . SALUDO1."<br />"; | ||
+ | |||
+ | |||
+ | define ("SALUDO2" , "OTRO HOLA"); | ||
+ | echo "valor de saludo " . SALUDO2."<br />"; | ||
+ | |||
+ | |||
+ | define ("SALUDO3" , "OTRO HOLA de nivel 3"); | ||
+ | //imprime la palabra saludo3 | ||
+ | echo "valor de saludo " . saludo3."<br />"; | ||
+ | |||
+ | define ("SALUDO3" , "OTRO HOLA de nivel 3", true); | ||
+ | //imprime el valor | ||
+ | echo "valor de saludo " . saludo3."<br />"; | ||
+ | |||
+ | |||
+ | define ("saludo4" , "OTRO HOLA nivel 4"); | ||
+ | //imprime la palabra SALUDO4 | ||
+ | echo "valor de saludo " . SALUDO4."<br />"; | ||
+ | |||
+ | define ("saludo4" , "OTRO HOLA nivel 4", true); | ||
+ | //imprime la palabra saludo4 | ||
+ | echo "valor de saludo " . SALUDO4."<br />"; | ||
+ | </source> | ||
+ | |||
+ | |||
+ | |||
+ | </div> | ||
+ | |||
===Constantes predefinidas=== | ===Constantes predefinidas=== | ||
*Como en otros lenguajes, existen una serie de constantes predefinidas | *Como en otros lenguajes, existen una serie de constantes predefinidas | ||
Línea 28: | Línea 136: | ||
*En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan | *En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan | ||
[http://php.net/manual/es/language.constants.predefined.php constantes] predefinidas en php | [http://php.net/manual/es/language.constants.predefined.php constantes] predefinidas en php | ||
− |
Última revisión de 06:10 2 may 2023
Declaración y uso de las constantes
Constantes predefinidas
- Como en otros lenguajes, existen una serie de constantes predefinidas
- Nos las ofrece el entorno y dependerán de él para su valor
- PHP Ofrece un gran número de constantes predefinidas http://php.net/manual/es/reserved.constants.php
- En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan
constantes predefinidas en php