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:

  1. Con el editor online de W3Schools,

  2. O con otros intérprete web, p.ej. PHP SandBox

  3. 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

  1. Visión General

    1. Historia

    2. Características

    3. Cierto conflicto: a (casi) nadie le gusta, pero todos lo utilizan

    4. Cómo se usa:

      1. Incrustado. Es decir, dentro del DOM (el HTML) usando etiquetas especiales (tipo <? php … > )

      2. Creado. Es decir, el programa PHP genera todo el HTML (y las cabeceras HTTP)

    5. ¿Que pinta tiene? Sencillo y muy flexible:

      <?php
        echo "Hola Mundo"
      ?>
      
    6. La documentación oficial está en el Manual PHP

  2. Introducción PHP -> php_intro

  3. Mi primer programa:

    1. Instalarlo (Servidor de Aplicaciones PHP) -> php_install

    2. Crear un programa php dentro de un elemento HTML -> php_sintax

    3. Imprimir en pantalla (web) php_echo_print

    4. Comentar el código -> php_comments

Ejercicios Básicos de programación con PHP

La estrategia para practicar sería:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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

  1. Variables en PHP -> php_variables

  2. Ámbitos de las variables -> php_variables_scope

    1. Local (lo habitual e ideal)

    2. Global (con atención)

    3. Estática (salvo causa de fuerza mayor)

  3. Constantes:

    1. se pueden definir ( php_constants) o

    2. usar unas predefinidas (php_magic_constants)

  4. Tipos de datos (php_datatypes):

    1. Escalares: boolean / integer / float / string (php_string)

    2. Compuestos: array / object (los veremos en tema aparte)

    3. Especiales: resource / NULL

  5. PHP es un lenguaje débilmente tipado , recuerda como asegurar los tipos:

    1. Vía casting: php_casting

    2. Vía declaración de tipos (en funciones)

  6. Operadores (-> php_operators)

    1. Se usan caracteres especiales para las diferentes operaciones

    2. Se clasifican en diferentes tipos (aritméticos, de comparación, de asignación, …)

    3. Hay operadores unarios, binarios y ternarios, según los operandos que participen

    4. 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:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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

  1. De Control:

    1. -> php_if_else

    2. -> php_switch

  2. De Repetición (php_looping):

    1. -> while

    2. -> for

    3. -> foreach

  3. Para modificar el flujo (pensar bien antes de usar):

    1. -> php_looping_break

    2. -> php_looping_continue

Ejercicios Básicos de programación con PHP

La estrategia para practicar sería:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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)

  1. -> php_functions

  2. Para unos parámetros (o argumentos) de entrada la función devuelve una salida

  3. Hay muchas (pero muchas):

    1. Ya incluidas de serie (built-in)

    2. En librerías o módulos aparte (hay que importarlas)

    3. Las que quieras hacer tú

  4. Argumentos y parámetros:

    1. Se pasan

      1. por valor (se copia al interior de la función)

      2. o por referencia (no se copia, es el mismo objeto). Ojo a cambios!

    2. Pueden convivir valores estáticos (uno por $variable) con variables (varios …$en_un_array)

    3. Los parámetros pueden tener unos valores predeterminados cuando no se especifican

  5. 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:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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)

  1. String = secuencia de caracteres -> php_string

  2. Con un montón de funciones específicas para resolver diferentes problemas:

    1. Saber el número de caracteres func_string_strlen

    2. Eliminar espacios a la izquierda, a la derecha o en los dos lados func_string_ltrim / func_string_rtrim / func_string_trim

    3. Poner en minúsculas (o mayúsculas) func_string_strtolower / func_string_strtoupper

    4. Buscar / Extraer parte de la cadena. Hay varias opciones, p.ej func_string_stristr

    5. Reemplazar parte de una cadena func_string_str_replace

    6. Comparar Cadenas: func_string_strcmp

    7. Imprimir con formato: func_string_printf

    8. Transforma HTML en texto (sin marcas ni caracteres no válidos) func_string_htmlspecialchars

    9. y … muchas más (php_ref_string)

Ejercicios Básicos de programación con PHP

La estrategia para practicar sería:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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

  1. Son una estructura de datos (lista) muy utilizada y práctica

  2. Es un mapa que ordena valores en función de claves -> php_arrays

  3. Tipos:

    1. indexados. La clave es un número y está ordenado

    2. asociativos. La clave es cualquier cosa

    3. multidimensionales. El valor es un array

  4. Es muy fácil recorrer un array con foreach (p.ej)

  5. Y hay un montón de funciones para trabajar con arrays:

    1. Contar los elementos del array -> func_array_count

    2. Añadir uno, o más elementos, a un array -> func_array_push

    3. Obtener una lista (array) con todas las claves -> func_array_keys

    4. Obtener una lista (array) con todos los valores -> func_array_search

    5. Buscar un valor en una lista -> func_array_values

    6. Extraer parte de un array -> func_array_slice

    7. Sumar todos los valores de un array -> func_array_sum

    8. Devolver el siguiente valor del array -> func_array_next

    9. Devolver una (o más) claves aleatorias -> func_array_rand

    10. (avanzado) Crear un nuevo array con el resultado de una función en cada elemento del array -> func_array_map

    11. Y muchas, pero muchas, más -> php_ref_array

Ejercicios Básicos de programación con PHP

La estrategia para practicar sería:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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

  1. La lista funciones disponibles ya disponibles es (casi) interminable. Por ejemplo tres categorías muy utilizadas

    1. Funciones con cadenas de caracteres -> php_ref_string

    2. Funciones con arrays -> php_ref_array

    3. Funciones matemáticas -> php_ref_math

  2. Puedes usar tu librería propia e incluirla (require o include) en tu programa -> php_includes

  3. Y puedes importar o instalar librerías de terceros

Ejercicios Básicos de programación con PHP

La estrategia para practicar sería:

  1. Tutorial. No sirve con leer lo que pone el tutorial, tienes que probarlo

  2. Copia/Pega. Copias/Pegas cualquier código PHP (del tutorial u otros) y juegas con él (modificas)

  3. 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