2. El Lenguaje PHP (básico)¶
Este es un tema de iniciación al lenguaje PHP. Se busca tener los conocimientos del lenguaje para poder realizar los ejercicios básicos de Ejercicios Genéricos de Programación.
Me baso en el excelente tutorial de W3Schools para hacer referencia a cada uno de los elementos del lenguaje. Este tema es simplemente un esquema ordenado de parte del tutorial adaptado a las sesiones de clase.
Requisitos Previos
Necesitas unos conocimientos previos sobre aprender a programar. Esta es una asignatura de segundo curso, repasa bien lo que viste en Programación en primero. Por eso hago el test de evaluación inicial.
En realidad, salvo en algunos puntos, no necesitarías conocimientos previos complejos (algoritmia o estructuras de datos complejas). Simplemente le tendrás que dedicar más tiempo. Pero se supone que ya has usado un lenguaje de programación alguna vez.
Entorno de desarrollo
No hace falta que instales nada para comenzar. Se trata de que empieces de una, sin complicarte la vida. Puedes aprender PHP usando un navegador web:
Con el editor online de W3Schools,
O con otros intérprete web, p.ej. PHP SandBox
Y ya, en cuanto antes, estaremos usando GitHub CodeSpaces
Recomiendo los dos primeros que así no te complicas la vida. El uso de GitHub CodeSpaces (o Visual Studio conectado a GH) es el ideal, pero necesitas acompañamiento (o dedicarle tiempo suficiente). Preparar tu entorno de desarrollo es una tarea que consume tiempo si lo vas a hacer en local.
Está organizado en 8 talleres de unas 3 sesiones de clase. En total unas 24 sesiones de clase más tu trabajo en casa.
La dedicación depende del conocimiento previo, motivación y capacidad de aprendizaje del estudiante para esa sesión en concreto.
2.1. El lenguaje PHP¶
Visión General
Historia
Características
Cierto conflicto: a (casi) nadie le gusta, pero todos lo utilizan
Cómo se usa:
Incrustado. Es decir, dentro del DOM (el HTML) usando etiquetas especiales (tipo <? php … > )
Creado. Es decir, el programa PHP genera todo el HTML (y las cabeceras HTTP)
¿Que pinta tiene? Sencillo y muy flexible:
<?php echo "Hola Mundo" ?>
La documentación oficial está en el Manual PHP
Introducción PHP -> php_intro
Mi primer programa:
Instalarlo (Servidor de Aplicaciones PHP) -> php_install
Crear un programa php dentro de un elemento HTML -> php_sintax
Imprimir en pantalla (web) php_echo_print
Comentar el código -> php_comments
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.2. Variables, Datos y Operadores¶
Variables en PHP -> php_variables
Ámbitos de las variables -> php_variables_scope
Local (lo habitual e ideal)
Global (con atención)
Estática (salvo causa de fuerza mayor)
Constantes:
se pueden definir ( php_constants) o
usar unas predefinidas (php_magic_constants)
Tipos de datos (php_datatypes):
Escalares: boolean / integer / float / string (php_string)
Compuestos: array / object (los veremos en tema aparte)
Especiales: resource / NULL
PHP es un lenguaje débilmente tipado , recuerda como asegurar los tipos:
Vía casting: php_casting
Vía declaración de tipos (en funciones)
Operadores (-> php_operators)
Se usan caracteres especiales para las diferentes operaciones
Se clasifican en diferentes tipos (aritméticos, de comparación, de asignación, …)
Hay operadores unarios, binarios y ternarios, según los operandos que participen
Si hay varios operadores, mejor usar paréntesis para definir la precedencia
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.3. Estructuras de Control y Repetición¶
De Control:
-> php_if_else
-> php_switch
De Repetición (php_looping):
-> while
-> for
-> foreach
Para modificar el flujo (pensar bien antes de usar):
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.4. Programación Modular (Funciones)¶
Para unos parámetros (o argumentos) de entrada la función devuelve una salida
Hay muchas (pero muchas):
Ya incluidas de serie (built-in)
En librerías o módulos aparte (hay que importarlas)
Las que quieras hacer tú
Argumentos y parámetros:
Se pasan
por valor (se copia al interior de la función)
o por referencia (no se copia, es el mismo objeto). Ojo a cambios!
Pueden convivir valores estáticos (uno por $variable) con variables (varios …$en_un_array)
Los parámetros pueden tener unos valores predeterminados cuando no se especifican
PHP admite recursividad, es decir, llamar a la función dentro de la función (ojo a definir el caso base).
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.5. Cadenas de Caracteres (Strings)¶
String = secuencia de caracteres -> php_string
Con un montón de funciones específicas para resolver diferentes problemas:
Saber el número de caracteres func_string_strlen
Eliminar espacios a la izquierda, a la derecha o en los dos lados func_string_ltrim / func_string_rtrim / func_string_trim
Poner en minúsculas (o mayúsculas) func_string_strtolower / func_string_strtoupper
Buscar / Extraer parte de la cadena. Hay varias opciones, p.ej func_string_stristr
Reemplazar parte de una cadena func_string_str_replace
Comparar Cadenas: func_string_strcmp
Imprimir con formato: func_string_printf
Transforma HTML en texto (sin marcas ni caracteres no válidos) func_string_htmlspecialchars
y … muchas más (php_ref_string)
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.6. Arrays¶
Son una estructura de datos (lista) muy utilizada y práctica
Es un mapa que ordena valores en función de claves -> php_arrays
Tipos:
indexados. La clave es un número y está ordenado
asociativos. La clave es cualquier cosa
multidimensionales. El valor es un array
Es muy fácil recorrer un array con foreach (p.ej)
Y hay un montón de funciones para trabajar con arrays:
Contar los elementos del array -> func_array_count
Añadir uno, o más elementos, a un array -> func_array_push
Obtener una lista (array) con todas las claves -> func_array_keys
Obtener una lista (array) con todos los valores -> func_array_search
Buscar un valor en una lista -> func_array_values
Extraer parte de un array -> func_array_slice
Sumar todos los valores de un array -> func_array_sum
Devolver el siguiente valor del array -> func_array_next
Devolver una (o más) claves aleatorias -> func_array_rand
(avanzado) Crear un nuevo array con el resultado de una función en cada elemento del array -> func_array_map
Y muchas, pero muchas, más -> php_ref_array
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.7. Ejemplos de Funciones¶
La lista funciones disponibles ya disponibles es (casi) interminable. Por ejemplo tres categorías muy utilizadas
Funciones con cadenas de caracteres -> php_ref_string
Funciones con arrays -> php_ref_array
Funciones matemáticas -> php_ref_math
Puedes usar tu librería propia e incluirla (require o include) en tu programa -> php_includes
Y puedes importar o instalar librerías de terceros
Ejercicios Básicos de programación con PHP
La estrategia para practicar sería:
Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo
Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)
Y si quieres profundizar puedes revisar Ejercicios Genéricos de Programación
Y, en caso de duda, usa la documentación oficial de PHP .
2.8. Expresiones Regulares en PHP¶
Revisar PHP en Taller de Expresiones Regulares