Diferencia entre revisiones de «Plantilla:PHP/Declaraciones/Constantes»

De WikiEducator
Saltar a: navegación, buscar
(Constantes)
(Constantes predefinidas)
 
(13 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===
+
;Constantes
 
*Se definen con la función '''''define()'''''
 
*Se definen con la función '''''define()'''''
 
*O con la palabra reservada '''''const'''''
 
*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
+
const IVA_BASE = 0.06;
 
.....
 
.....
  
Línea 21: Línea 21:
  
 
</source>
 
</source>
;identificador
+
;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 32: Línea 32:
 
*Revisa la siguiente entrada
 
*Revisa la siguiente entrada
 
  https://stackoverflow.com/questions/2447791/define-vs-const
 
  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>
 
</div>
  
Línea 40: 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
</div>
 

Última revisión de 05:10 2 may 2023

Constantes



Icon objectives.jpg
Objetivo
Las constantes se declaran una vez
No se pueden modificar, solo usar

Declaración y uso de las constantes

Constantes
  • Se definen con la función define()
  • O con la palabra reservada const
define("IVA",0.21);
const IVA_BASE = 0.06;
.....
 
$total=$base*(1+IVA);
$total=$base_2*(1+IVA_BASE);
Identificador
  • Se usa el mismo criterio de construcción pero no empieza por $
  • Se pueden definir y utilizar en cualquier momento que se necesiten.
  • Para saber si una constante está definida defined()
  • 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

(Comment.gif: 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

<?php
const IVA=0.21
 
echo "Importe de iva ".IVA;
 
?>

)




Icon activity.jpg
Declarando constantes

Declarar dos constantes de diferente tipo y visualiza el tipo y el valor




Icon activity.jpg
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



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
//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 />";


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