Diferencia entre revisiones de «Plantilla:PHP/Declaraciones»
De WikiEducator
(→Tipos String) |
(→Heredoc) |
||
(7 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 65: | Línea 65: | ||
;clases | ;clases | ||
;objetos y recursos (clases ya creadas o incluidas) | ;objetos y recursos (clases ya creadas o incluidas) | ||
− | {{MRM_Actividad|Title=Temas | + | {{MRM_Actividad|Title=Temas posteriores| |
+ | Las funciones,clases y objetos los veremos en otro tema}} | ||
}} | }} | ||
{{MRM_Pregunta|Title=Tener claro el concepto| | {{MRM_Pregunta|Title=Tener claro el concepto| | ||
Línea 201: | Línea 202: | ||
decimal [1..9][0..9]* | decimal [1..9][0..9]* | ||
hexadecimal 0x[0..f]+ | hexadecimal 0x[0..f]+ | ||
− | octal | + | octal 0o[0..7]+ (Esta notación es a partir de la versión 8 de php) |
binario 0b[01]+ | binario 0b[01]+ | ||
*Todos ellos pueden ser positivos o negativos | *Todos ellos pueden ser positivos o negativos | ||
Línea 548: | Línea 549: | ||
<div class="slide"> | <div class="slide"> | ||
--> | --> | ||
+ | <br /> | ||
=====Heredoc===== | =====Heredoc===== | ||
*Este tipo de expresión de string es útil para especificar cadenas largas en multilíneas | *Este tipo de expresión de string es útil para especificar cadenas largas en multilíneas | ||
Línea 569: | Línea 571: | ||
?> | ?> | ||
</source> | </source> | ||
− | *MUY IMPORTANTE: '''''La palabra final no debe tener ningún espacio | + | *MUY IMPORTANTE: '''''La palabra final no debe tener ningún espacio ni tabulador antes de la etiqueta'''''. |
+ | *Esta expresión también se puede utilizar encerrando al identificador delimitador entre comillas dobles | ||
+ | |||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $frase = <<<"FINAL" | ||
+ | Esta es una cadena | ||
+ | de caracteres que se asignará | ||
+ | a la variable frase | ||
+ | y termina con la palabra | ||
+ | con la que hemos empezado | ||
+ | FINAL; | ||
+ | |||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ===== | + | |
+ | =====NowDoc===== | ||
*Es igual que heredoc , pero sin interpretar los caracteres especiales salvo '''''\\''''' '''''\.''''' | *Es igual que heredoc , pero sin interpretar los caracteres especiales salvo '''''\\''''' '''''\.''''' | ||
*O sea que es como un entrecomillado sencillo | *O sea que es como un entrecomillado sencillo | ||
Línea 586: | Línea 601: | ||
El valor de $nombre | El valor de $nombre | ||
es $nombre, pero aquí | es $nombre, pero aquí | ||
− | no lo veo por que es | + | no lo veo por que es nowdoc |
FINAL; | FINAL; | ||
?> | ?> | ||
Línea 603: | Línea 618: | ||
===Variables de variables=== | ===Variables de variables=== | ||
https://www.php.net/manual/es/language.variables.variable.php | https://www.php.net/manual/es/language.variables.variable.php | ||
− | *Consiste en declarar una variable | + | *Consiste en declarar el valor de una variable como otra variable. |
+ | *Imagina el sigueinte código | ||
+ | <source lang=php> | ||
+ | $fruta ="fresas"; | ||
+ | $fresas = 25; | ||
+ | </source> | ||
+ | *Podemos hacerlo de la siguiente forma | ||
<source lang=php> | <source lang=php> | ||
− | $ | + | $fruta ="fresas"; |
+ | $$fruta = 25; | ||
</source> | </source> | ||
− | * | + | *En ambos casos '''''$fresas''''' valdrá '''''25''''' |
+ | *Si 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 | ||
<source lang=php> | <source lang=php> | ||
+ | $asignatura="modulo" | ||
$$nombre ="BD"; // ahora diremos que $modulo vale BD | $$nombre ="BD"; // ahora diremos que $modulo vale BD | ||
</source> | </source> |
Última revisión de 21:04 27 oct 2023
- La función gettype($variable) permite ver el tipo de una variable en un momento dado
|
|
|
Los Tipos String
- Ya hemos visto anteriormente el timpo 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
- La resolución compleja de expresinoes simples {}, sirve para obtener el valor de la variable 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)
- Vamos a ver cómo se interpretan los diferentes tipos de variables en un string:
$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 el valor de una variable como otra variable.
- Imagina el sigueinte código
$fruta ="fresas"; $fresas = 25;
- Podemos hacerlo de la siguiente forma
$fruta ="fresas"; $$fruta = 25;
- En ambos casos $fresas valdrá 25
- Si 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
$asignatura="modulo" $$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