UD 2 El lenguaje PHP. Básico 2
Duración Estimada: 8 sesiones, 16 horas
RA2 Escribe sentencias ejecutables por un servidor Web reconociendo y aplicando procedimientos de integración del código en lenguajes de marcas.
- A Se han reconocido los mecanismos de generación de páginas Web a partir de lenguajes de marcas con código embebido.
- B Se han identificado las principales tecnologías asociadas.
- C Se han utilizado etiquetas para la inclusión de código en el lenguaje de marcas.
- D Se ha reconocido la sintaxis del lenguaje de programación que se ha de utilizar.
- E Se han escrito sentencias simples y se han comprobado sus efectos en el documento resultante.
- F Se han utilizado directivas para modificar el comportamiento predeterminado.
- G Se han utilizado los distintos tipos de variables y operadores disponibles en el lenguaje.
- H Se han identificado los ámbitos de utilización de las variables.
RA3 Escribe bloques de sentencias embebidos en lenguajes de marcas, seleccionando y utilizando las estructuras de programación.
- A Se han utilizado mecanismos dedecisión en la creación de bloques de sentencias.
- B Se han utilizado bucles y se ha verificado su funcionamiento.
- C Se han utilizado «arrays» para almacenar y recuperar conjuntos de datos.
- D Se han creado y utilizado funciones.
- E Se han utilizado formularios Web para interactuar con el usuario del navegador Web.
- F Se han empleado métodos para recuperar la información introducida en el formulario.
- G Se han añadido comentarios al código
OBJETIVOS SEMANALES
Instalar Entorno PHP
Crear y compartir Repositorio GitHub
Primeros programas PHP y subir al repositorio
3 Tipos de datos: funciones y variables
Recuerda, estamos aprendiendo...
RA3 : Escribe bloques de sentencias embebidos en lenguajes de marcas, seleccionando y utilizando las estructuras de programación. C.Ev.D Se han creado y utilizado funciones.
Isset, Unset y isnull
En PHP existen funciones específicas para comprobar y establecer el tipo de datos de una variable,
- gettype obtiene el tipo de la variable que se le pasa como parámetro y devuelve una cadena de texto, que puede ser
php array, boolean, double, integer, object, string, null, resource o unknowntype.
También podemos comprobar si la variable es de un tipo concreto utilizando una de las siguientes funciones:
php
is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar() e is_string().
- Devuelven true si la variable es del tipo indicado.
- Análogamente, para establecer el tipo de una variable utilizamos la función settype pasándole como parámetros la variable a convertir, y una de las siguientes cadenas: boolean , integer , float , string , array , object o null .
- La función settype devuelve true si la conversión se realizó correctamente, o false en caso contrario.
- isset: Si lo único que te interesa es saber si una variable está definida y no es null , puedes usar la función isset .
- La función unset destruye la variable o variables que se le pasa como parámetro
Actividad
TiposDatos
Prueba y comenta los diferentes ejemplos en un script PHP llamado:
Archivo: dwes/UD2/Semana1/tiposdedatos.php
Evitar warning
Aunque es bueno que los errores y las advertencias (warning) sean mostradas en nuestro navegador, a veces son un poco incómodas para nuestra creación de código. Para evitar el siguiente mensaje de error existen varias formas de hacerlo, tanto dentro de nuestro código como dentro del fichero de configuración php.ini
Enlace a “cómo ocultar warning en PHP”
Constantes (define)
Existe también en PHP una función, define , con la que puedes definir constantes, esto es, identificadores a los que se les asigna un valor que no cambia durante la ejecución del programa.
- bool define ( string $identificador , mixed $$case_insensitive = false ] );
Los identificadores no van precedidos por el signo "$" y suelen escribirse en MAYÚSCULAS, aunque existe un tercer parámetro opcional, que si vale true hace que se reconozca el identificador independientemente de si está escrito en mayúsculas o en minúsculas
TiposDatos
Sólo se permiten los siguientes tipos de valores para las constantes:integer, float , string , boolean y null .
El caso insensitivo genera error desde PHP 7.3 https://www.php.net/manual/en/function.define.php
Constantes predefinidas por PHP
https://www.php.net/manual/es/language.constants.predefined.php
Actividad
constantes.php
Crea un archivo llamado constantes.php con al menos 3-4 constantes definidas, 2-3 constantes predefinidas por PHP, uso de is_array, is_integer…
Archivo: dwes/UD2/Semana1/constantes.php
Fechas y horas
En PHP no existe un tipo de datos específico para trabajar con fechas y horas. La información de fecha y hora se almacena internamente como un número entero . Sin embargo, dentro de las funciones de PHP tienes a tu disposición unas cuantas para trabajar con ese tipo de datos.
Una de las más útiles es quizás la función date , que te permite obtener una cadena de texto a partir de una fecha y hora, con el formato que tú elijas. La función recibe dos parámetros, la descripción del formato y el número entero que identifica la fecha, y devuelve una cadena de texto formateada.
- string date (string $formato [, int $fechahora]);
El formato lo debes componer utilizando como base una serie de caracteres de los que figuran en la siguiente tabla.
Carácter | Resultado |
---|---|
d | día del mes con dos dígitos. |
j | día del mes con uno o dos dígitos ( sin ceros iniciales ). |
z | día del año, comenzando por el cero ( 0 = 1 de enero ). |
N | día de la semana ( 1 = lunes, ..., 7 = domingo ) |
w | día de la semana ( 0 = domingo, ..., 6 =sábado ). |
l | texto del día de la semana, en inglés ( Monday, ..., Sunday ). |
D | texto del día de la semana, solo tres letras, en inglés ( Mon, ..., Sun ). |
W | número de la semana del año. |
m | número del mes con dos dígitos. |
n | número del mes con uno o dos dígitos ( sin ceros iniciales ). |
t | número de días que tiene el mes. |
F | texto del día del mes, en inglés ( January, ..., December ). |
M | texto del día del mes, solo tres letras, en inglés ( Jan, ..., Dec ). |
Y | número del año. |
y | dos últimos dígitos del número del año. |
L | 1 si el año es bisiesto, 0 si no lo es. |
h | formato de 12 horas, siempre con dos dígitos |
---|---|
H | formato de 24 horas, siempre con dos dígitos |
g | formato de 12 horas, con uno o dos dígitos (sin ceros iniciales ). |
G | formato de 24 horas, con uno o dos dígitos (sin ceros iniciales ). |
a | am o pm, en minúsculas. |
A | AM o PM, en mayúsculas. |
r | fecha entera con formato RFC 2822. |
Además, el segundo parámetro es opcional. Si no se indica, se utilizará la hora actual para crear la cadena de texto.
Para que el sistema pueda darte información sobre tu fecha y hora, debes indicarle tu zona horaria. Puedes hacerlo con la función date_default_timezone_set . Para establecer la zona horaria en España peninsular debes indicar:
Zona horaria
date_default_timezone_set('Europe/Madrid');
Si utilizas alguna función de fecha y hora sin haber establecido previamente tu zona horaria, lo más probable es que recibas un error o mensaje de advertencia de PHP indicándolo
Otras funciones como getdate devuelven un array con información sobre la fecha y hora actual.
- En la documentación de PHP puedes consultar todas las funciones para gestionar fechas y horas: https://www.php.net/manual/en/ref.datetime.php
Actividad
Prueba este tipo de datos tan importante
Prueba las funciones vistas en este punto, muestra con al menos 7-8 formatos diferentes.
Archivo: dwes/UD2/Semana1/fechas_horas.php
Variables Especiales de PHP (superglobals)
En la unidad anterior ya aprendiste qué eran y cómo se utilizaban las variables globales. PHP incluye unas cuantas variables internas predefinidas que pueden usarse desde cualquier ámbito, por lo que reciben el nombre de variables superglobales . Ni siquiera es necesario que uses global para acceder a ellas.
Cada una de estas variables es un array que contiene un conjunto de valores (en esta unidad veremos más adelante cómo se pueden utilizar los arrays). Las variables superglobales disponibles en PHP son las siguientes:
- $_SERVER . Contiene información sobre el entorno del servidor web y de ejecución. Entre la información que nos ofrece esta variable, tenemos:
- En la documentación de PHP puedes consultar toda la información que ofrece $_SERVER : https://www.php.net/manual/es/reserved.variables.server.php
_GET, _POST y $_COOKIE contienen las variables que se han pasado al script actual utilizando respectivamente los métodos GET (parámetros en la URL), HTTP POST y Cookies HTTP.
$_REQUEST junta en uno solo el contenido de los tres arrays anteriores, $_GET , $_POST y $_COOKIE .
$_ENV contiene las variables que se puedan haber pasado a PHP desde el entorno en que se ejecuta.
$_FILES contiene los ficheros que se puedan haber subido al servidor utilizando el método POST.
$_SESSION contiene las variables de sesión disponibles para el guión actual.
En posteriores unidades iremos trabajando con estas variables.
Importante
Conviene tener a mano la información sobre estas variables superglobales disponible en el manual de PHP.
https://www.php.net/manual/es/language.variables.superglobals.php
Actividad
Variables especiales
Busca info de algunas de estas variables especiales y pruébalas en tu código
Archivo: dwes/UD2/Semana1/variables_especiales.php
Actividad Entregable
Entregable
Tienes la info en la sección "Actividad entregable"
Referencias
[https://www.php.net/manual/es/]()
[https://www.php.net/manual/es/language.basic-syntax.php]()
[https://www.php.net/manual/es/function.echo.php]()
[https://www.php.net/manual/es/language.types.php]()