Recorrido
Aprende PHP
Aprende PHP desde cero con un curso online gratis e interactivo. Domina variables, condicionales, bucles, funciones, estructuras de datos y organización de proyectos con retos prácticos, proyectos reales, pistas de IA y un certificado al terminar.
27,978+ codders inscritos
Este recorrido incluye
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
3 secciones230 lecciones205 retos1,395 preguntas de quiz01Sección 1
Fundamentos
Construye una base sólida con conceptos esenciales y habilidades básicasEMPEZAR A APRENDERIntroduction to PHP
5 lecciones331- 01The PHP LanguageReto
- 02Hello World!RetoQuizAudio
- 03Tags and StatementsQuizAudio
- 04CommentsQuizAudio
- 05The new lineRetoQuizAudio
Variables and Data Types
9 lecciones663- 01NumbersRetoQuizAudio
- 02Strings and QuotesRetoQuizAudio
- 03BooleansQuizAudio
- 04Naming ConventionsQuizAudio
- 05Recap - Variable InitReto
- 06Empty VariablesQuizAudio
- 07String ConcatenationRetoQuizAudio
- 08Getting User InputRetoQuizAudio
- 09Cast to Different TypesRetoQuizAudio
Basic Operators
8 lecciones852- 01Arithmetic OperatorsRetoQuizAudio
- 02Modulo OperatorRetoQuizAudio
- 03Exponentiation OperatorRetoQuizAudio
- 04Combined AssignmentRetoQuizAudio
- 05Increment/DecrementRetoQuizAudio
- 06Operator PrecedenceRetoQuizAudio
- 07Recap - Simple CalculationsReto
- 08String OperatorsRetoQuizAudio
Comparison & Logical Operators
5 lecciones532- 01Comparison OperatorsRetoQuizAudio
- 02Equality & IdentityRetoQuizAudio
- 03Logical Operators Part 1RetoQuizAudio
- 04Logical Operators Part 2RetoQuizAudio
- 05Recap - Simple LogicReto
Conditional Logic
6 lecciones639- 01If StatementRetoQuizAudio
- 02If - ElseRetoQuizAudio
- 03The Ternary OperatorRetoQuizAudio
- 04Null Coalescing OperatorRetoQuizAudio
- 05Switch StatementRetoQuizAudio
- 06Recap - Making DecisionsReto
Arrays Part 1 - Indexed
7 lecciones645- 01Introduction to ArraysQuizAudio
- 02Creating Indexed ArraysRetoQuizAudio
- 03Accessing Elements by IndexRetoQuizAudio
- 04Modifying Elements by IndexRetoQuizAudio
- 05Array Size with CountRetoQuizAudio
- 06Adding Elements to an ArrayRetoQuizAudio
- 07Recap - Managing a Simple ListReto
Arrays Part 2 - Associative
6 lecciones540- 01Intro to Associative ArraysQuizAudio
- 02Accessing Values by KeyRetoQuizAudio
- 03Modifying Values by KeyRetoQuizAudio
- 04Adding New Key-Value PairsRetoQuizAudio
- 05Check if Key ExistsRetoQuizAudio
- 06Recap - Key-Value Data StoreReto
Bucles
7 lecciones746- 01Bucle forRetoQuizAudio
- 02Bucle whileRetoQuizAudio
- 03Bucle foreachRetoQuizAudio
- 04Bucles con claves y valoresRetoQuizAudio
- 05Sentencia breakRetoQuizAudio
- 06Sentencia continueRetoQuizAudio
- 07Resumen - Iterando sobre datosReto
Proyecto: Lista de Tareas Simple
Proyecto7 lecciones1- 01Resumen del Proyecto y DatosReto
- 02Agregando una Nueva TareaProyecto
- 03Mostrando Todas las TareasProyecto
- 04Marcando una Tarea como CompletadaProyecto
- 05Eliminando una TareaProyecto
- 06Filtrando por Estado de CompletaciónProyecto
- 07Manejando Escenarios de Lista VacíaProyecto
Functions
8 lecciones857- 01Declaring & Calling FunctionsRetoQuizAudio
- 02Function ParametersRetoQuizAudio
- 03Returning ValuesRetoQuizAudio
- 04Default Parameter ValuesRetoQuizAudio
- 05Type Declarations for ParamsRetoQuizAudio
- 06Return Type DeclarationsRetoQuizAudio
- 07Variable ScopeRetoQuizAudio
- 08Recap - Creating Reusable CodeReto
Final Challenges
3 lecciones3- 01Challenge - Factorial CalcReto
- 02Challenge - Longest WordReto
- 03Challenge - Vowel CounterReto
02Sección 2
Lógica y Flujo
Desarrolla habilidades de resolución de problemas y crea programas dinámicos e interactivosEMPEZAR A APRENDERFunciones avanzadas
9 lecciones965- 01Funciones anónimasRetoQuizAudio
- 02Closures y 'use'RetoQuizAudio
- 03Funciones de flechaRetoQuizAudio
- 04Funciones callbackRetoQuizAudio
- 05Uso de 'call_user_func'RetoQuizAudio
- 06Funciones variablesRetoQuiz
- 07Paso por referenciaRetoQuiz
- 08Funciones recursivasRetoQuiz
- 09Resumen: Miscelánea de funcionesReto
Manipulación avanzada de arrays
10 lecciones1066- 01Agregar con 'array_push'RetoQuiz
- 02Eliminar con 'array_pop'RetoQuiz
- 03Agregar con 'array_unshift'RetoQuiz
- 04Eliminar con 'array_shift'RetoQuiz
- 05Fusionar arrays indexadosRetoQuiz
- 06Fusionar arrays asociativosRetoQuiz
- 07Extraer con 'array_slice'RetoQuiz
- 08Valores con 'in_array'RetoQuiz
- 09Claves con 'array_search'RetoQuiz
- 10Resumen: Ejercicio de PlaylistReto
Ordenar Arrays
7 lecciones747- 01Ordenar arrays indexados de forma ascendenteRetoQuiz
- 02Ordenar arrays indexados de forma descendenteRetoQuiz
- 03Ordenar arrays asociativos por valorRetoQuiz
- 04Ordenar arrays asociativos por claveRetoQuiz
- 05Ordenación por orden naturalRetoQuiz
- 06Ordenación personalizada con 'usort'RetoQuiz
- 07Resumen: Ordenar tablas de clasificaciónReto
Arreglos multidimensionales
6 lecciones639- 01Crear un arreglo 2DRetoQuiz
- 02Acceder a elementos de un arreglo 2DRetoQuiz
- 03Modificar elementos de un arreglo 2DRetoQuiz
- 04Iterar con bucles anidadosRetoQuiz
- 05Arreglos asociativos 2DRetoQuiz
- 06Resumen: Ejercicio de cuadrícula simpleReto
Registro de Calificaciones
6 lecciones6- 01Configuración del Proyecto: Estructura de DatosReto
- 02Agregar un Nuevo EstudianteReto
- 03Agregar una Calificación a un EstudianteReto
- 04Calcular el Promedio del EstudianteReto
- 05Encontrar al Mejor EstudianteReto
- 06Generar un Reporte de CalificacionesReto
Funciones de array de orden superior
7 lecciones745- 01Transformación con 'array_map'RetoQuiz
- 02'array_map' con funciones personalizadasRetoQuiz
- 03Filtrado con 'array_filter'RetoQuiz
- 04'array_filter' con funciones personalizadasRetoQuiz
- 05Reducción con 'array_reduce'RetoQuiz
- 06Recorrido con 'array_walk'RetoQuiz
- 07Resumen: Procesamiento de datosReto
Trabajando con fechas y horas
6 lecciones539- 01La función 'date()'Quiz
- 02Timestamps de Unix con 'time()'RetoQuiz
- 03Introducción al objeto DateTimeRetoQuiz
- 04Formateo de objetos DateTimeRetoQuiz
- 05Modificación de objetos DateTimeRetoQuiz
- 06Resumen: Cálculos con fechasReto
Manejo de errores y excepciones
7 lecciones650- 01Entendiendo los errores de PHPQuiz
- 02El bloque 'try...catch'RetoQuiz
- 03El bloque 'finally'RetoQuiz
- 04Lanzar una excepciónRetoQuiz
- 05Crear una excepción personalizadaRetoQuiz
- 06Usar una excepción personalizadaRetoQuiz
- 07Resumen: Validación de entradasReto
Planificador de eventos
Proyecto6 lecciones1- 01Datos del eventoReto
- 02Agregar un nuevo eventoProyecto
- 03Listar próximos eventosProyecto
- 04Ordenar eventos por fechaProyecto
- 05Filtrar eventos por mesProyecto
- 06Mostrar una cuenta regresivaProyecto
Desafíos finales
4 lecciones4- 01Desafío: Verificador de palíndromosReto
- 02Desafío: Frecuencia de caracteresReto
- 03Desafío: Total del carrito de comprasReto
- 04Desafío: Filtro de elementos únicosReto
03Sección 3
Programación Orientada a Objetos
Descubre cómo organizar el código con clases, objetos y estructuras reutilizablesEMPEZAR A APRENDERFundamentos de OOP
9 lecciones969- 01Archivos externosRetoQuiz
- 02Introducción a OOPRetoQuiz
- 03Clases vs ObjetosRetoQuiz
- 04La palabra clave $thisRetoQuiz
- 05MétodosRetoQuiz
- 06PropiedadesRetoQuiz
- 07Constructor (__construct)RetoQuiz
- 08Destructor (__destruct)RetoQuiz
- 09Resumen - Calculadora simpleReto
Espacios de nombres y Autoloading
5 lecciones534- 01Introducción a los espacios de nombresRetoQuiz
- 02La palabra clave useRetoQuiz
- 03Estándar de Autoloading PSR-4RetoQuiz
- 04Autoloader de ComposerRetoQuiz
- 05Resumen - Proyecto organizadoReto
Propiedades de clase
6 lecciones644- 01Propiedades de instancia vs. estáticasRetoQuiz
- 02Constantes en clasesRetoQuiz
- 03Métodos y propiedades estáticosRetoQuiz
- 04Propiedades privadas y protegidasRetoQuiz
- 05Propiedades de solo lectura (PHP 8.1)RetoQuiz
- 06Resumen - Gestor de cuenta bancariaReto
Herencia
6 lecciones644- 01Herencia básicaRetoQuiz
- 02La palabra clave parent::RetoQuiz
- 03Sobrescritura de métodosRetoQuiz
- 04La palabra clave finalRetoQuiz
- 05Clases abstractasRetoQuiz
- 06Resumen - Jerarquía de empleadosReto
Interfaces y Contratos
6 lecciones645- 01Introducción a las InterfacesRetoQuiz
- 02Implementación de InterfacesRetoQuiz
- 03Implementación de Múltiples InterfacesRetoQuiz
- 04Interfaz vs Clase AbstractaRetoQuiz
- 05Type Hinting con InterfacesRetoQuiz
- 06Resumen - Calculadora de FormasReto
Polimorfismo
5 lecciones536- 01Sobrescritura de métodos revisadaRetoQuiz
- 02Polimorfismo mediante interfacesRetoQuiz
- 03Type Hinting y tipos de uniónRetoQuiz
- 04Enlace estático tardíoRetoQuiz
- 05Resumen - Procesador de pagosReto
Encapsulamiento
6 lecciones645- 01Público, Protegido, PrivadoRetoQuiz
- 02Modificadores de acceso a fondoRetoQuiz
- 03Getters y SettersRetoQuiz
- 04Ocultamiento de informaciónRetoQuiz
- 05Promoción de constructor (8.0)RetoQuiz
- 06Resumen - Sistema de registros de estudiantesReto
Métodos mágicos
7 lecciones753- 01Introducción a los métodos mágicosRetoQuiz
- 02__toString y __debugInfoRetoQuiz
- 03__get, __set, __isset, __unsetRetoQuiz
- 04__call y __callStaticRetoQuiz
- 05__clone y clonación de objetosRetoQuiz
- 06__serialize y __unserializeRetoQuiz
- 07Resumen - Colección personalizadaReto
Traits
5 lecciones544- 01Introducción a los TraitsRetoQuiz
- 02Uso de múltiples TraitsRetoQuiz
- 03Resolución de conflictos de TraitsRetoQuiz
- 04Métodos abstractos en TraitsRetoQuiz
- 05Traits frente a herenciaRetoQuiz
Conceptos avanzados de POO
7 lecciones761- 01Composición vs. HerenciaRetoQuiz
- 02Inyección de dependenciasRetoQuiz
- 03Clases anónimasRetoQuiz
- 04Enums (PHP 8.1)RetoQuiz
- 05Fibers (PHP 8.1)RetoQuiz
- 06Clonación de objetos a fondoRetoQuiz
- 07Generadores e IteradoresRetoQuiz
Sistema de tipos y manejo de errores
7 lecciones754- 01Declaraciones de tiposRetoQuiz
- 02Tipos anulablesRetoQuiz
- 03Tipos de unión e intersecciónRetoQuiz
- 04Clases de excepciónRetoQuiz
- 05Jerarquía de excepciones personalizadasRetoQuiz
- 06Try, Catch, FinallyRetoQuiz
- 07Resumen - Validador de formulariosReto
Patrones de diseño Parte 1
5 lecciones546- 01Introducción a los patrones de diseñoRetoQuiz
- 02Patrón SingletonRetoQuiz
- 03Patrón FactoryRetoQuiz
- 04Patrón ObserverRetoQuiz
- 05Patrón StrategyRetoQuiz
Patrones de diseño Parte 2
7 lecciones764- 01Patrón CommandRetoQuiz
- 02Patrón AdapterRetoQuiz
- 03Patrón DecoratorRetoQuiz
- 04Patrón Template MethodRetoQuiz
- 05Patrón StateRetoQuiz
- 06Patrón CompositeRetoQuiz
- 07Patrón RepositoryRetoQuiz
Proyecto: Gestión de biblioteca
Proyecto6 lecciones1- 01Descripción general del proyectoReto
- 02Clases de Libros y UsuariosProyecto
- 03Sistema de préstamosProyecto
- 04Funcionalidad de búsquedaProyecto
- 05Interfaz de administradorProyecto
- 06Pruebas e integraciónProyecto
Desafíos finales
4 lecciones4- 01Plataforma de E-LearningReto
- 02Sistema bancarioReto
- 03Desarrollo de personajes de videojuegosReto
- 04Servicio de alquiler de vehículosReto
Por qué aprender PHP con Coddy
- Curso de PHP online y gratis: sin instalación, sin configurar herramientas y sin barreras para empezar. Abre el navegador y practica desde la primera lección.
- Lecciones prácticas de PHP que van más allá de un tutorial: cada concepto viene con un reto para escribir código real y entenderlo haciendo.
- Las pistas de IA te ayudan cuando te bloqueas en un ejercicio de PHP, explicando el siguiente paso sin darte la solución completa.
- Certificado gratis de finalización para compartir en LinkedIn o añadir al CV como prueba de que completaste un curso interactivo de PHP.
Preguntas frecuentes sobre aprender PHP
¿PHP es fácil de aprender?
Sí, puedes empezar con PHP aunque no tengas experiencia previa. Coddy divide los conceptos en ejercicios cortos para que entiendas la sintaxis, practiques variables, condicionales, bucles, funciones, estructuras de datos y organización de proyectos y ganes confianza paso a paso.
¿Cuánto tiempo se tarda en aprender PHP?
Los fundamentos de PHP suelen aprenderse en una o dos semanas de práctica diaria. Para sentirte cómodo creando proyectos reales, reserva de uno a tres meses según tu ritmo y tu experiencia previa.
¿Dónde puedo aprender PHP online gratis?
Coddy ofrece un curso online gratis de PHP con lecciones, retos de código, cuestionarios y proyectos. No necesitas instalar nada: todo funciona en el navegador.
¿Cómo puedo aprender PHP rápido?
La forma más rápida es practicar todos los días. En Coddy alternas explicación breve, ejercicio inmediato y feedback con pistas de IA, así que pasas más tiempo escribiendo PHP que mirando videos largos.
¿Recibo un certificado de PHP al terminar?
Sí. Al completar el curso de PHP en Coddy recibes un certificado gratis de finalización que puedes compartir en LinkedIn o añadir a tu currículum.
¿Qué puedo crear después de aprender PHP?
Después del curso podrás crear scripts útiles, pequeñas apps, automatizaciones, juegos sencillos y proyectos que puedes mostrar en tu portfolio. También tendrás una base sólida para seguir con temas más avanzados.