Diferencia entre revisiones de «Plantilla:PHP/Declaraciones»
De WikiEducator
(→Variables de variables) |
(→Declaraciones) |
||
Línea 11: | Línea 11: | ||
<div class=slide> | <div class=slide> | ||
===Declaraciones=== | ===Declaraciones=== | ||
− | # | + | |
− | # | + | *Estas instrucciones sirven para declarar elementos dentro del programa que posteriormente vamos a utilizar |
− | # | + | *En un programa se pueden declarar: |
− | # | + | #'''''variables''''' |
− | # | + | #'''''constantes''''' |
− | {{MRM_Actividad|Title= | + | #'''''subprogramas''''' (funciones, procedimientos. En terminología OO métodos), esto lo veremos mas adelante |
− | {{MRM_Pregunta| | + | |
+ | *La manera de hacer declaración dependerá del lenguaje de programación utilizado. | ||
+ | {{MRM_Puntos clave|Title=Lenguajes de programación en función de cómo se realiza la delcaración| | ||
+ | ;Lenguajes fuertemente tipados | ||
+ | :las variables deben de ser declaradas antes de usarlas. | ||
+ | :Durante la ejecución esa variable no cambia de tipo | ||
+ | |||
+ | <source lang=java> | ||
+ | //En un lenguaje como java | ||
+ | int edad; | ||
+ | String nombre; | ||
+ | |||
+ | edad = 25; | ||
+ | nombre="Manuel"; | ||
+ | </source> | ||
+ | <source lang=java> | ||
+ | //En un lenguaje como php | ||
+ | $edad = 25; | ||
+ | $nombre="Manuel"; | ||
+ | </source> | ||
+ | |||
+ | ;Lenguajes débilmente tipados | ||
+ | ;Los valores con los que trabaja siempre tienen un tipo. | ||
+ | ;Éste no ha de ser declarado antes de ser utilizarlo. | ||
+ | ;Esta declaración del <span style='color:green'>tipo</span>, va implícita cada vez que asignamos '''''un valor a la variable utilizada'''''. | ||
+ | ;Este tipo <span style='color:green'>cambiará</span> si asignamos un valor de otro tipo. | ||
+ | <source lang=java> | ||
+ | $a = 5; //Ahora la variable $a es de tipo entero | ||
+ | $a = "Nieves"; //Ahora la variable $b es de tipo string | ||
+ | |||
+ | </source> | ||
+ | }} | ||
+ | *El tipo de la variable es utlizado para saber cuánto espacio de memoria debo reservar para almacer el valor de esa variable. | ||
+ | *Por ejemplo en un entero puede ser que necesite 2 o 4 bytes, pero en un float 8 o 15 bytes, según la precisión | ||
+ | |||
+ | *Respecto a los tipos de variable, dependerá del lenguaje utilizado | ||
+ | *Consideremos el lenguaje '''''php''''', como ya hemos comentado: | ||
+ | # ''entero o int'' , en php será de tipo '''''int'''' con valores numéricos sin decimales | ||
+ | # ''real o float'', en php será de tipo '''''float'''' igualmente valores numéricos con decimales. | ||
+ | # ''cadena_caracteres o String'' en php será el tipo '''''string''''' valores con cadenas de caracteres | ||
+ | # ''booleano o boolean'' en php será de tipo '''''booleano'''' o '''''bool'''''igualmente. Valores verdad o falso | ||
+ | # ''null'' Corresponde a un valor que no existe o para especificar el tipo de una variable no tiene valor asignado. | ||
+ | {{MRM_Puntos clave|Title=Declaraciones que podemos realizar| | ||
+ | ;variables | ||
+ | ;constantes | ||
+ | ;funciones | ||
+ | ;clases | ||
+ | ;objetos y recursos (clases ya creadas o incluidas) | ||
+ | {{MRM_Actividad|Title=Temas posterior|Las funciones,clases y objetos los veremos en otro tema}} | ||
+ | }} | ||
+ | {{MRM_Pregunta|Title=Tener claro el concepto | ||
* Qué es un '''''tipo de dato''''' | * Qué es un '''''tipo de dato''''' | ||
* Qué es una '''''variable''''' | * Qué es una '''''variable''''' | ||
Línea 130: | Línea 180: | ||
</div> | </div> | ||
*La función '''''gettype($variable)''''' permite ver el tipo de una variable en un momento dado | *La función '''''gettype($variable)''''' permite ver el tipo de una variable en un momento dado | ||
+ | ====Variables y cadenas de caracteres==== | ||
+ | *Es muy frecuente querer visualizar el valor de una variable, dentro de una cadena de caracteres | ||
+ | *Aquí hay una gran diferencia en usar las comillas dobles "", y utilizar las comillas simples '' | ||
+ | {{MRM_Puntos clave|Title=Comillas dobles| | ||
+ | }} | ||
+ | |||
+ | {{MRM_Puntos clave|Title=Comillas simples| | ||
+ | }} | ||
+ | |||
+ | |||
{{MRM_Actividad|Title=Ejercicio 4 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio4|Ver tipos de variable]]| | {{MRM_Actividad|Title=Ejercicio 4 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio4|Ver tipos de variable]]| | ||
*Asigna a una variable cada uno de los cinco tipos básicos | *Asigna a una variable cada uno de los cinco tipos básicos | ||
*Después de cada asignación visualiza el tipo con la función '''''gettype()''''' | *Después de cada asignación visualiza el tipo con la función '''''gettype()''''' | ||
+ | {{plegable|hide|Ver el código| | ||
<source lang=php> | <source lang=php> | ||
%a = 10; | %a = 10; | ||
echo "Valor de la variable \$a es $a y es de tipo ".gettype($a)."<br />"; | echo "Valor de la variable \$a es $a y es de tipo ".gettype($a)."<br />"; | ||
</source> | </source> | ||
+ | }} | ||
}} | }} | ||
<div class="slide"> | <div class="slide"> |
Revisión de 18:21 15 dic 2021
- La función gettype($variable) permite ver el tipo de una variable en un momento dado
Variables y cadenas de caracteres
- Es muy frecuente querer visualizar el valor de una variable, dentro de una cadena de caracteres
- Aquí hay una gran diferencia en usar las comillas dobles "", y utilizar las comillas simples
|
|
|
|
Tipos String
- Un string es un tipo formado por una cadena de caracteres representados por un sistema determinado de codificación
- En php no existe el tipo carácter, si bien una cadena es tratada internamente como un array de caracteres.
- En php hay muchas funciones de cadenas de caracteres, las podemos ver en la página oficial
"Esto es una cadena de carácteres"
https://www.php.net/language.types.string https://www.php.net/manual/es/ref.strings.php
|
https://www.php.net/manual/es/language.types.string.php
- En php un string se puede especificar de 4 maneras como veremos a continuación:
- Dentro de una cadena de caracteres, puede haber una serie de caracteres especiales los cuales pueden ser interpretados y evaluados y no se visualizarán.
|
- La diferneica entre comillas simples y dobles, es que en las comillas dobles se analizan los caracteres especiales especificados (todos ellos), mientras que en la comilla simple solo se analiza el caracter \ seguido de \' o de la propia comilla simple \'.
Tip: Importante tener en cuenta que estas secuencias no serán renderizadas en el navegador, se pueden ver en el texto que genera la instrucción.
|
|
- La resolución compleja de expresinoes simples {}, sirve para obtener el valor de la varialble como si fueran paréntesis.
- Por ejemplo, imagina que queremos concatenar a una variable un carácter.En principio necesitaríamos un operador de concatenación.
Ejemplo
| |
<?php $nombre="Manuel"; $apellido="Romero"; echo "Tu identificación $nombre_$apellido" ?>
Tu identificación Romero
<?php $nombre="Manuel"; $apellido="Romero"; echo "Tu identificación $nombre"."_"."$apellido" ?>
<?php $nombre="Manuel"; $apellido="Romero"; echo "Tu identificación {$nombre}_{$apellido}"; ?>
|
- Otra utilidad es para visualizar el valor de las variables de variables (Ver apartado correspondinete)
- Otra cuestión es cómo visualiza las variables en una cadena
$modulo = "Desarrollo en el servidor"; echo "<h2>Estoy estudiando $modulo </h2>"; ?>
Estoy estudiando Desarrollo en el servidor
$nota = 9.58; echo "<h2>Y me estudio se recompensa con una nota de $nota</h2>"; ?>
Y me estudio se recompensa con una nota de 9.58
$bool1 = true; $bool2 = false; echo "<h2> Visualizando booleanos: true -$bool1- y false -$bool2-</h2>"; ?>
Visualizando booleanos: true -1- y false --
$valor = null; echo "<h2> Visualizando el valor null -$valor-</h2>"; ?>
Visualizando el valor null --
$vector = [1,2,3,4,5]; echo "<h2> Visualizando un array -$vector-</h2>"; ?>
Visualizando un array -Array-
<?php Class foo { } $obj = new foo(); echo "<h2> Visualizando un objeto -$obj-</h2>"; ?>
[Sun Oct 04 18:18:44.431637 2020] [php7:error] [pid 998] [client ::1:35958] PHP Fatal error: Uncaught Error: Object of class foo could not be converted to string in /var/www/prueba/8.php:5\nStack trace:\n#0 {main}\n thrown in /var/www/prueba/8.php on line 5
<?php <?php $con =new mysqli("localhost","root", "root"); echo "<h2> Visualizando un recurso -$con-</h2>";
[Sun Oct 04 18:24:08.426281 2020] [php7:error] [pid 7883] [client ::1:35968] PHP Fatal error: Uncaught Error: Object of class mysqli could not be converted to string in /var/www/prueba/8.php:3\nStack trace:\n#0 {main}\n thrown in /var/www/prueba/8.php on line 3
|
Tipos complejos
- Objetos básico en su aspecto de OOP
- Matrices o arrays muy muy utilizados
- Recursos este más que un tipo complejo es un tipo especial que hace referencia a un recurso externo referencia , como una conexión a una base de datos o como una referencia a un fichero pdf.
- Este tipo de variables las veremos más adelante
</div>
Variables de variables
https://www.php.net/manual/es/language.variables.variable.php
- Consiste en declarar una variable con un valor
$nombre ="modulo";
- Di declaramos una variable a variable con $$, lo que estamos haciendo es que el contenido de la variable también sea variable y contenga un valor
$$nombre ="BD"; // ahora diremos que $modulo vale BD
- En el ejemplo vemos que $nombre vale módulo, si ahora asignamos un valor a $$nombre, estaremos creando una variable (el contendio de $nombre), de la variable $nombre, y ese contenido tendrá un valor ("BD")
- Aquellos contenidos a los que asignemos valores se quedarán en el espacio de nombres de variables