Gratis · En español · Desde cero · PHP 8
Curso de PHP gratis desde cero
Aprende PHP de verdad, no solo a copiar código: qué pasa dentro del motor cuando declaras una variable, por qué los arrays se copian, qué es realmente una referencia y cómo viven los objetos en memoria. 13 capítulos, más de 70 ejercicios resueltos y todos los ejemplos comprobados contra PHP 8.4.
¿Es tu primer contacto con el lenguaje? Lee antes la guía para aprender PHP desde cero: qué necesitas, cuánto se tarda y en qué orden estudiar.
Temario del curso de PHP
- 1
Introducción a PHP: tu primer programa con echo
Empieza aquí si nunca has programado en PHP. Verás qué es un programa, qué hace PHP por dentro cuando lo ejecuta y cómo escribir tu primera línea con echo.
¿Qué es un programa? · La etiqueta <?php · echo y el punto y coma · Comentarios · Llamar a funciones · Las órdenes de BIT-8 · Los errores son tus amigos
- 2
Variables en PHP: tipos, var_dump, isset y constantes
Las variables son cajas con nombre. Aquí aprenderás a usarlas y, sobre todo, qué hace PHP por dentro: la tabla de símbolos, los zvals y por qué $b = $a copia el valor.
Cajas con etiqueta · La tabla de símbolos · Tipos de datos · Tipado dinámico · Variables que no existen · Constantes · Variables y BIT-8
- 3
Strings en PHP: comillas, concatenación, interpolación y UTF-8
Trabajar con texto es lo que más harás en PHP. Verás la diferencia entre comillas simples y dobles, cómo concatenar e interpolar, y por qué strlen("ñ") devuelve 2.
Comillas simples y dobles · Interpolación: rellenar huecos · Concatenar con el punto · Funciones de cadena · Bytes y caracteres: el secreto de la ñ · Cada letra tiene su número · Dar formato: printf y sprintf · Textos largos: heredoc
- 4
Operadores en PHP: == frente a ===, type juggling y floats
PHP convierte tipos por su cuenta (type juggling), y eso tiene trampas. Aquí verás cuándo usar ===, cómo cambió la comparación en PHP 8 y por qué los floats no son exactos.
Aritmética · Precedencia: quién va primero · Atajos: +=, ++ y compañía · Comparar: == frente a === · Mayor, menor y la nave espacial · Convertir tipos (casting) · Los floats mienten (un poco) · Lógica, cortocircuito y ??
- 5
Condicionales en PHP: if, else, switch y match
Un programa que siempre hace lo mismo sirve de poco. Con if, switch y match tu código decide qué hacer según los datos.
Si... entonces · else y elseif · Verdades a medias · Combinar condiciones · La trampa del = · switch · match (PHP 8) · El ternario · BIT-8 toma decisiones
- 6
Bucles en PHP: while, for, do-while, break y continue
Los bucles son lo que hace a los ordenadores útiles: repetir sin cansarse. Aquí aprenderás while, for y do-while, y a controlarlos con break y continue.
while: mientras... · Anatomía de un bucle · for: el bucle con contador · do-while: al menos una vez · break y continue · Bucles dentro de bucles · BIT-8 recorre el campo · El tablero de ajedrez
- 7
Arrays en PHP: listas, asociativos y foreach
El array es la estructura de datos estrella de PHP: sirve como lista, diccionario y tabla. Verás cómo funciona por dentro y por qué asignarlo lo copia.
Listas · Arrays asociativos · ¿Qué es REALMENTE un array? · foreach: recorrer un array · Los arrays se copian · Arrays dentro de arrays · Funciones de arrays · Desestructurar
- 8
Funciones en PHP: return, parámetros, tipos y recursividad
Las funciones te dejan escribir un bloque de código una vez y usarlo mil. Aprenderás a declararlas, tiparlas y a entender la pila de llamadas y la recursividad.
Forjar una función · return · Valores por defecto y argumentos con nombre · Tipos en parámetros y retorno · La pila de llamadas · Recursividad · Funciones para BIT-8
- 9
Include, require y ficheros en PHP: leer y escribir archivos
Los proyectos reales no caben en un archivo. Aprenderás a separar configuración y funciones con require_once y a guardar datos en ficheros que sobreviven cuando el programa termina.
Un programa, muchos archivos · include frente a require · _once: una sola vez · Comparte tus variables (y puede devolver) · Rutas y __DIR__ · Leer ficheros · Escribir ficheros · Guardar datos con JSON
- 10
Ámbito, static, closures y callbacks en PHP
Cada función es una isla con sus propias variables. Aquí verás cómo pasar datos entre islas con global, static, use y las funciones flecha.
Cada función, su isla · global y $GLOBALS · static: memoria entre llamadas · Funciones como valores · use: llevar variables a la isla · Funciones flecha: fn · Callbacks para arrays · Funciones que recuerdan
- 11
Referencias en PHP: & a fondo y el bug del foreach
Las referencias son uno de los temas más malentendidos de PHP. Aquí verás qué son realmente (dos nombres para una misma caja) y las trampas que causan.
Dos nombres, una caja · Una referencia no es un puntero · Paso por referencia · ¿Referencias para ir más rápido? No. · foreach por referencia · El bug del foreach · La rareza: referencias dentro de arrays · Objetos: handles, no referencias
- 12
PHP en la web: $_GET, $_POST, XSS, sesiones y cookies
PHP nació para la web. Verás el viaje de una petición HTTP, cómo leer formularios con $_GET y $_POST y cómo protegerte del XSS con htmlspecialchars.
El viaje de una petición · PHP escribe HTML · $_GET: datos en la URL · Nunca te fíes del cliente · XSS y htmlspecialchars · Formularios y $_POST · Plantillas · Sin memoria: sesiones y cookies
- 13
Programación orientada a objetos en PHP: clases y objetos
La POO es como se organiza el PHP profesional (Laravel, Symfony...). Aprenderás clases, objetos, herencia e interfaces, y dónde viven los objetos en memoria.
Clases y objetos · El constructor · Visibilidad y encapsulación · Dónde viven los objetos · Handles frente a referencias · Herencia · Interfaces y clases abstractas · static y constantes de clase · Excepciones · Métodos mágicos: __toString
- Final
Proyecto final de PHP: el Gran Molino de Zend
El reto final combina todo lo aprendido en el curso en dos programas completos.
Qué hace diferente a este curso de PHP
- Entiendes el porqué. Cada capítulo explica lo que hace PHP por dentro: tabla de símbolos, zvals, copy-on-write, la pila de llamadas o el montón de objetos.
- Ejemplos ejecutables. Un intérprete de PHP escrito desde cero corre en tu navegador. Puedes editar cada ejemplo y ver la memoria paso a paso con la Lupa Zend.
- Ejercicios con corrección automática. Encargos que se prueban con varios datos de entrada, cazas de bugs, predicciones de salida y misiones para programar un dron.
- Errores explicados. Los mensajes de error de PHP se muestran tal cual, en inglés, y debajo se explican en castellano.
- PHP moderno. PHP 8.4: match, argumentos con nombre, tipos, strict_types, funciones flecha y promoción de propiedades.
Preguntas frecuentes
¿Este curso de PHP es gratis?
Sí. Todo el temario, los ejemplos, los ejercicios y el juego son gratuitos y no necesitas registrarte. Puedes crear una cuenta opcional para guardar tu progreso en la nube.
¿Necesito saber programar para empezar?
No. El curso empieza desde cero, explicando qué es un programa y cómo lo ejecuta PHP, y avanza hasta la programación orientada a objetos.
¿Tengo que instalar PHP?
No. PHPlay incluye un intérprete de PHP que funciona dentro del navegador, así que puedes ejecutar y modificar cada ejemplo sin instalar nada.
¿Qué versión de PHP enseña?
PHP 8 (8.4): comparaciones de PHP 8, match, argumentos con nombre, promoción de propiedades en el constructor, funciones flecha y strict_types. Todos los ejemplos están comprobados contra PHP real.
¿Cuánto se tarda en completarlo?
Cubre más o menos el primer trimestre de un curso de PHP. Cada capítulo lleva entre una y dos horas con sus ejercicios.
¿Sirve para clase?
Sí. PHPlay tiene una licencia de aula con panel para el profesorado: el alumnado entra con un código y ves su progreso en cada capítulo.