Diferencia entre revisiones de «Plantilla:PHP/Declaraciones»
De WikiEducator
(→Tipos String) |
(→Heredoc) |
||
(28 revisiones intermedias por el mismo usuario no mostrado) | |||
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 '''''tipo''''', va implícita cada vez que asignamos '''''un valor a la variable utilizada'''''. | ||
+ | ;Este tipo '''''cambiará''''' 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 posteriores| | ||
+ | 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 181: | ||
</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 | ||
+ | |||
+ | |||
{{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"> | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
+ | |||
====Tipos básicos: enteros==== | ====Tipos básicos: enteros==== | ||
#'''entero '''''integer''''' ''' | #'''entero '''''integer''''' ''' | ||
Línea 146: | 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 183: | Línea 239: | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
− | ==== | + | |
− | + | ====real o coma flotante '''''float'''''==== | |
− | + | ||
− | + | ||
<source lang=php> | <source lang=php> | ||
− | + | $valor=0.2345; | |
+ | $valor=.54; | ||
+ | $valor=7E-12; | ||
</source> | </source> | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | <!--4----------------------------------> | ||
− | + | ====Booleano '''''boolean'''''==== | |
+ | <source lang=PHP> | ||
+ | $estado=TRUE; | ||
+ | $estado=TrUe; | ||
+ | $estado=falsE; | ||
+ | </source> | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | <!--4----------------------------------> | ||
+ | ====NULL==== | ||
+ | *un tipo especial que solo tiene ese valor | ||
+ | *Una variable tiene el valor null | ||
+ | #Si aún no se le ha asignado valor, o éste se ha destruido (unset() | ||
+ | #Si se le ha asignado explícitamente el valor NULL. | ||
+ | <source lang=PHP> | ||
+ | $a=NULL; | ||
+ | $a=null; | ||
+ | </source> | ||
+ | </div> | ||
− | {{ | + | |
+ | <div class="slide"> | ||
+ | {{MRM_Actividad|Title=Ejercicio 8.- Declaración de variables| | ||
+ | *Haz un programa donde declares variables de diferentes tipos | ||
+ | *Asigna los valores con diferente formato | ||
+ | *Visualiza sus valores | ||
+ | {{plegable|hide|Declaración de tipos| | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
+ | $entero = 5; | ||
+ | $cadena = "Esto es una cadena"; | ||
+ | $float = 5.35; | ||
+ | $boleano = true; | ||
+ | $nulo = null; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | echo "El valor de la variables \$entero es $entero<br />"; | ||
+ | echo "El valor de la variables \$cadena es $cadena<br />"; | ||
+ | echo "El valor de la variables \$float es $float<br />"; | ||
+ | echo "El valor de la variables \$bolenao es $boleano<br />"; | ||
+ | echo "El valor de la variables \$null es $null<br />"; | ||
?> | ?> | ||
</source> | </source> | ||
}} | }} | ||
}} | }} | ||
+ | </div> | ||
+ | |||
+ | <br /> | ||
+ | ====Los Tipos String==== | ||
+ | *Ya hemos visto anteriormente el timpo [[#string|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 | ||
+ | <source lang=php> | ||
+ | "Esto es una cadena de carácteres" | ||
+ | </source> | ||
+ | https://www.php.net/language.types.string | ||
+ | https://www.php.net/manual/es/ref.strings.php | ||
+ | <!-- | ||
+ | {{MRM_Actividad|Title = Ejercicio 7 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio7|Funciones de conversión]]| | ||
+ | *Usa las fuciones especificadas para visualizar en los tres sistemas decimales los números del 1 al 100 | ||
+ | *Qué diferencia hay de hacerlo así a usar '''''printf''''' | ||
+ | }} | ||
+ | --> | ||
<!--MRM Mirar y hablar de los sistemas de codificación | <!--MRM Mirar y hablar de los sistemas de codificación | ||
--> | --> | ||
+ | <!-- | ||
https://www.php.net/manual/es/language.types.string.php | https://www.php.net/manual/es/language.types.string.php | ||
− | *En '''''php''''' un string se puede especificar de 4 maneras | + | *En '''''php''''' un string se puede especificar de 4 maneras, hemos visto dos, las comillas simples y dobles: |
{{MRM_Actividad|Title=Representado cadenas string| | {{MRM_Actividad|Title=Representado cadenas string| | ||
#Comillas dobles '''''" "''''' | #Comillas dobles '''''" "''''' | ||
Línea 257: | Línea 354: | ||
}} | }} | ||
}} | }} | ||
− | + | <!-- | |
{{MRM_Actividad|Title=Probando secuencias de escape| | {{MRM_Actividad|Title=Probando secuencias de escape| | ||
;Realiza un programa donde pruebes los siguientes conceptos | ;Realiza un programa donde pruebes los siguientes conceptos | ||
Línea 310: | Línea 407: | ||
</source> | </source> | ||
}} | }} | ||
− | *La resolución compleja de expresinoes simples '''''{}''''', sirve para obtener el valor de la | + | }} |
− | *Por ejemplo, imagina que queremos concatenar a una variable un carácter. | + | --> |
+ | *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. | ||
{{MRM_Ejemplo| | {{MRM_Ejemplo| | ||
<source lang=php> | <source lang=php> | ||
Línea 340: | Línea 439: | ||
</source> | </source> | ||
}} | }} | ||
+ | |||
+ | *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: | ||
+ | {{MRM_Actividad|Title=Visualizando variables| | ||
+ | *'''''String''''' aporta su valor | ||
+ | <source lang=php> | ||
+ | $modulo = "Desarrollo en el servidor"; | ||
+ | echo "<h2>Estoy estudiando $modulo </h2>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | *Genera la salida | ||
+ | Estoy estudiando Desarrollo en el servidor | ||
+ | *'''''Entero y float''''' aporta su valor como parte del string | ||
+ | <source lang=php> | ||
+ | $nota = 9.58; | ||
+ | echo "<h2>Y me estudio se recompensa con una nota de $nota</h2>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | *Genera la salida | ||
+ | Y me estudio se recompensa con una nota de 9.58 | ||
+ | *'''''Booleano''''' TRUE se convierte a "1" y false a un string vacío "" | ||
+ | <source lang=php> | ||
+ | $bool1 = true; | ||
+ | $bool2 = false; | ||
+ | echo "<h2> Visualizando booleanos: true -$bool1- y false -$bool2-</h2>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | *Genera la salida | ||
+ | Visualizando booleanos: true -1- y false -- | ||
+ | *'''''Null''''' Un string vacío "" | ||
+ | <source lang=php> | ||
+ | $valor = null; | ||
+ | echo "<h2> Visualizando el valor null -$valor-</h2>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | *Genera la salida | ||
+ | Visualizando el valor null -- | ||
+ | *'''''Array''''', Genera la palabra '''Array''' | ||
+ | <source lang=php> | ||
+ | $vector = [1,2,3,4,5]; | ||
+ | echo "<h2> Visualizando un array -$vector-</h2>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | *Genera la salida | ||
+ | Visualizando un array -Array- | ||
+ | *'''''Objetos y recursos''''', Genera un error al intentar convertirlo a string. Para ello usaremos un método de tipo string que veremos en su momento | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | Class foo { | ||
+ | } | ||
+ | $obj = new foo(); | ||
+ | echo "<h2> Visualizando un objeto -$obj-</h2>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | *No genera salida, y en fichero de errores nos informa | ||
+ | [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 | ||
+ | |||
+ | *En caso de un recurso p.e. '''''mysqli''''' | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | <?php | ||
+ | $con =new mysqli("localhost","root", "root"); | ||
+ | echo "<h2> Visualizando un recurso -$con-</h2>"; | ||
+ | </source> | ||
+ | *Igualmente que el caso anterior no genera salida, y en fichero de errores nos informa | ||
+ | [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 | ||
}} | }} | ||
+ | <div class="slide"> | ||
+ | <!-- | ||
+ | =====Comillas dobles===== | ||
+ | *En ellas se interpretan los caracteres especiales. | ||
+ | #''''' $''''' seguido de un nombre, interpreta que es una variable y toma su valor (null si no tiene valor o no está definida). | ||
+ | #'''''\''''' es un carácter de secuencia de escape, e interpreta que el carácter siguiente tiene un significado especial \\ \a \n \r \t , ... | ||
+ | </div> | ||
− | = | + | <div class="slide"> |
+ | *Si queremos que se ignore un carácter especial, éste ha de ir precedido por el caracter '''''\''''' | ||
<source lang=php> | <source lang=php> | ||
− | + | $nombre = 'pedro'; | |
− | + | echo "El valor de la variable \$nombre es $nombre"; | |
− | + | ||
</source> | </source> | ||
+ | *El resultado sería | ||
+ | El valor de la variable $nombre es pedro | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | + | =====Comillas simples===== | |
− | + | *Como ya hemos comentado incidimos que en en este tipo de representación de las cadenas solo se interpreta el carácter especial \ o bien seguido de la barra invertida '''''\\''''' comilla simple '''''\<nowiki>'</nowiki>'''''. | |
− | <source lang= | + | *El resto de caracteres no se interpretan. |
− | + | </div> | |
− | + | ||
− | + | <div class="slide"> | |
+ | <source lang=php> | ||
+ | $nombre = 'pedro'; | ||
+ | echo 'El valor de la variable $nombre es $nombre | ||
+ | y \\ \'texto\' sí que se ve entre comillas simples'; | ||
</source> | </source> | ||
+ | *La salida sería | ||
+ | El valor de la variable $nombre es $nombre | ||
+ | y \ 'texto' sí que se ve entre comillas simples'; | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | --> | ||
+ | <br /> | ||
+ | =====Heredoc===== | ||
+ | *Este tipo de expresión de string es útil para especificar cadenas largas en multilíneas | ||
+ | *Se comporta como un string entre comillas dobles para el tema de interpretar y escapar ciertos caracterres | ||
+ | *Se establece con el operador '''''<<<''''' | ||
+ | *A continuación viene un identificador | ||
+ | *Después empieza a especificarse la cadena de caracteres | ||
+ | *Para finalizarla se escribe en una nueva línea el identificador | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | < | + | <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; | |
+ | ?> | ||
</source> | </source> | ||
+ | *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 '''''\\''''' '''''\.''''' | ||
+ | *O sea que es como un entrecomillado sencillo | ||
+ | *La sintaxis es igual que la de heredoc, pero a diferencia el delimitador que se especifica al principio debe de ir entrecomillado con comillas simples | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $nombre=pedro; | ||
+ | $frase = <<<'FINAL' | ||
+ | El valor de $nombre | ||
+ | es $nombre, pero aquí | ||
+ | no lo veo por que es nowdoc | ||
+ | FINAL; | ||
+ | ?> | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
<!--4---------------------------------> | <!--4---------------------------------> | ||
− | + | ||
+ | ====Tipos complejos==== | ||
*Objetos básico en su aspecto de OOP | *Objetos básico en su aspecto de OOP | ||
*Matrices o arrays muy muy utilizados | *Matrices o arrays muy muy utilizados | ||
Línea 382: | Línea 616: | ||
</div> | </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 |
− | + | <source lang=php> | |
− | + | $fruta ="fresas"; | |
+ | $fresas = 25; | ||
+ | </source> | ||
+ | *Podemos hacerlo de la siguiente forma | ||
+ | <source lang=php> | ||
+ | $fruta ="fresas"; | ||
+ | $$fruta = 25; | ||
+ | </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> | ||
+ | $asignatura="modulo" | ||
+ | $$nombre ="BD"; // ahora diremos que $modulo vale BD | ||
+ | </source> | ||
+ | *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 | ||
+ | <!-- | ||
+ | *Miremos el siguiente ejemplo que explicamos en clase, para ellos usaremos la función del sistema get_defined_vars(), que nos retorna un array con todas las variables disponibles | ||
<source lang=php> | <source lang=php> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</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