Aprende PHP moderno
Una lista seleccionada de recursos para PHP
Tabla de contenido
- Debe leer
- Tutoriales
- Libros
- Curso en línea
- Referencia
- Lo basico
- Conceptos básicos de PHP
- La pila LÁMPARA
- HTML/HTML5
- CSS
- javascript
- Protocolos
- Entornos de desarrollo local
- Herramientas
- IDE
- Marcos y bibliotecas
- Marcos
- Micro marcos
- Bibliotecas
- Plantillas
- POO
- Programación orientada a objetos
- Patrones de diseño
- SÓLIDO
- inyección de dependencia
- Mejores prácticas
- Modelo-Vista-Controlador
- Base de datos
- Conceptos básicos de la base de datos
- Libros de bases de datos
- Sistema de gestión de bases de datos relacionales (RDBMS)
- Normalización de bases de datos
- Declaraciones preparadas
- No SQL
- Bibliotecas de bases de datos
- Herramientas de base de datos
- Estándares
- Errores y manejo de excepciones.
- Depuración
- Pruebas unitarias
- Documentación
- Sesiones
- Traducciones de texto
- Expresiones regulares
- XML
- API
- Control de versiones
- Seguridad
- Arquitectura
- Diseño impulsado por dominio (DDD)
- Arquitectura hexagonal
- Programación funcional
- Integración continua y entrega continua
- Revistas
- Mercancías
- Comunidad y Noticias
Debe leer
- PHP de la manera correcta
- La hoja de ruta del desarrollador web
Tutoriales
- Tutorial completo de PHP 8: aprenda PHP de la manera correcta en 2022
- PHP de adelante hacia atrás (vídeos)
- aprender-php.org
- Aprenda PHP para desarrolladores experimentados
- PHP para principiantes
- Pandas PHP
- Aprende PHP en Y minutos
- Aprendiz de PHP
- PHP por ejemplo
Libros
- Arquitectura avanzada de aplicaciones web
- Construyendo aplicaciones modernas con PHP 8
- PHP moderno: nuevas características y buenas prácticas
- Guía de estilo de diseño de objetos
- Aprendiendo PHP 7
- Guía de estudio de certificación PHP 7 Zend
- Aprenda PHP 8: uso de MySQL, JavaScript, CSS3 y HTML5
- Referencia rápida de secuencias de comandos PHP 8: una guía de bolsillo para secuencias de comandos web PHP
- Programación PHP (O'Reilly Media)
- El arte del PHP 8 moderno
Curso en línea
- CodeAcademy - Aprende PHP
- Curso de código
- Ejercicio - PHP (práctica de código y tutoría)
- SymfonyCasts: crea algo sorprendente con PHP
- Casa del árbol - Aprende PHP
- Udemy - PHP
- DevProjects + Codementor (proyectos PHP gratuitos y tutoría paga opcional)
- Cursos gratuitos de PHP
Referencia
- Referencia de idioma
- Hoja de trucos PHP moderna
- Manual PHP
- hoja de trucos PHP
Lo basico
Conceptos básicos de PHP
- Hoja de ruta para desarrolladores de PHP: cómo convertirse en un desarrollador de PHP
- Comenzando con PHP
- Tipos de datos PHP
- Bucles PHP
- Conceptos básicos de la matriz
- Trabajar con matrices
- PHP OBTENER y PUBLICAR
- PHP para principiantes (edición 2023)
La pila LÁMPARA
- La pila LAMP (Linux, Apache, MySql, PHP)
- linux
- Servidor HTTP Apache
- mysql
- PHP
- ¿Qué es una pila LAMP? (Video)
HTML/HTML5
- HTML y HTML5
- Tutorial HTML
- Introducción a HTML
- Una plantilla HTML5 básica
- DOMINGO
- Aprende HTML
CSS
- Hojas de estilo en cascada
- Tutorial CSS
- Introducción a CSS
- Introducción Selectores CSS
- Aprende CSS
javascript
- JavaScript (también conocido como ECMAScript)
- JavaScript básico
- Tutorial de JavaScript
- JavaScript elocuente
- No conoces a JS (serie de libros)
- Impresionante aprendizaje de JavaScript
- Aprender JavaScript
Protocolos
- HTTP y HTTPS
- Solicitud/respuesta HTTP, GET y POST
- Introducción a los conceptos básicos de HTTP
- ftp
- SSH
- SMTP
- POP3
- IMAP
- Ájax
Entornos de desarrollo local
- ddev
- Servidor de desarrollo y servidor web EasyPHP
- Granja
- Laragón
- MAMP
- Servidor WAMP
- XAMPP
Herramientas
- Navegador web (Chrome, Firefox)
- Compositor (gestión de dependencias)
- WinSCP (cliente SFTP, SCP y FTP gratuito)
- Putty (un cliente SSH y telnet gratuito)
- PoEdit (editor de traducciones de texto)
- Bloc de notas++ (editor de texto)
- 7-ZIP (archivador de archivos)
IDE
- Tormenta PHP ($)
- Código de estudio visual
Marcos y bibliotecas
Marcos
- Laravel (un marco muy popular)
- Laminas
- Symfony (un marco empresarial modular)
Micro marcos
- Slim Framework (un micro framework PHP que le ayuda a escribir rápidamente aplicaciones web y API simples pero potentes)
- Marco delgado 4 - Tutorial
- Marco delgado 4 - libro electrónico
Bibliotecas
- Impresionantes bibliotecas PHP
- empaquetador
Plantillas
- Plates (un sistema de plantillas PHP nativo)
- Twig (El motor de plantillas flexible, rápido y seguro para PHP)
- Twig: el motor de plantillas PHP independiente más popular
- PHP ramita versus plano
POO
Programación orientada a objetos
"Escribe código tímido -
módulos que no revelan nada innecesario a otros
módulos y que no dependen de las implementaciones de otros módulos".
- Principios orientados a objetos en PHP
- Clases y objetos
- Dominar PHP orientado a objetos (libro electrónico)
- Objektorientierte Programmierung (alemán)
- Bootcamp orientado a objetos
- Aprender programación orientada a objetos en PHP
Patrones de diseño
- Patrones de diseño en PHP (Laracasts)
- Patrones de diseño en PHP
- La pandilla de los cuatro patrones de diseño (libro)
- Patrones de diseño para humanos™
- DiseñoPatronesPHP
- Varios patrones de diseño en PHP
- Curso de Patrones de Diseño en PHP (Vídeo)
SÓLIDO
SOLID es un acrónimo mnemónico de cinco principios de diseño destinados a hacer que los diseños de software sean más comprensibles, flexibles y mantenibles.
- SÓLIDO
- Los primeros 5 principios del diseño orientado a objetos
inyección de dependencia
- Una introducción a la inyección de dependencia
- ¿Qué es la inyección de dependencia?
- El código limpio habla: ¡no busques cosas! (Video)
- PSR-11: interfaz de contenedor
- Desmitificando los contenedores de inyección de dependencia por Kai Sassnowski (vídeo)
Mejores prácticas
BESO
La simplicidad es un requisito previo para la confiabilidad.
- Edsger W. Dijkstra
- KISS - Mantenlo simple, estúpido.
- principio beso
YAGNI
No lo necesitarás
- YAGNI
- No lo vas a necesitar
- BESO y YAGNI
- YAGNI, culto a la carga y sobreingeniería
SECO
"DRY - No te repitas
Cada conocimiento debe tener una única,
representación inequívoca y autorizada dentro de un sistema".
DRY se trata de tener una fuente de verdad. No se trata de erradicar frenéticamente la duplicación de su código base.
Otro
- Mejores prácticas de TheCodingMachine
- Regrese temprano, regrese con frecuencia
- Las variables globales son malas
- Controladores delgados y modelos gordos
- Qué hacer y qué no hacer en PHP, también conocido como programadores que no me gustan
- Composición sobre herencia
- Código limpio PHP
- Calistenia de objetos
Modelo-Vista-Controlador
La mayoría de los frameworks en PHP siguen algún tipo de estructura MVC. La teoría es simple:
El usuario interactúa con la vista, que pasa información a un controlador. Luego, el controlador pasa esa información a un modelo (capa), y el modelo devuelve información al controlador. El controlador se sitúa efectivamente entre la vista y el modelo. (Brandon James salvaje)
- Wikipedia
- MVC en términos más simples o la estructura de una aplicación web moderna
- Descripción general de MVC
- MVC para novatos
- Una mejor comprensión de MVC
- Controladores delgados, modelos gordos
- MVC para desarrolladores PHP avanzados
- Una mejor comprensión de MVC
- MVC modelo 2
- Respondedor de dominio de acción (ADR)
Base de datos
Conceptos básicos de la base de datos
- Base de datos
- modelo de base de datos
- Las 12 reglas de Codd *
- El único tutorial de PDO adecuado
- Tutorial de SQL
- Datenbank Grundlagen (alemán)
- ERM
- Tutorial de Datenbank-Grundlagen (alemán)
- Tutorial de Datenbank-Grundlagen: Primärschlüssel (alemán)
Sistema de gestión de bases de datos relacionales (RDBMS)
- mysql
- mariadb
- Servidor Microsoft SQL
- Oráculo
- SQLite
Libros de bases de datos
- Libro MySQL gratuito
- MySQL de alto rendimiento: optimización, copias de seguridad y replicación
Normalización de bases de datos
Los malos programadores se preocupan por el código. Los buenos programadores se preocupan por las estructuras de datos y sus relaciones.
- Normalización de bases de datos
- Primera forma normal (1NF)
- Segunda forma normal (2NF)
- Tercera forma normal (3NF)
- Descripción de los conceptos básicos de normalización de bases de datos.
- Der Königsweg: Normalisierung (alemán)
- Normalisierung (alemán)
- MySQL - Normalización (alemán)
Declaraciones preparadas
- Declaración preparada
- Declaraciones preparadas - Protección contra inyecciones SQL
- Declaraciones preparadas en PHP
Bibliotecas de bases de datos
- Generador de consultas CakePHP
- Generador de consultas Illuminate (Laravel)
- Generador de consultas Laminas DB
- Phinx - migraciones de bases de datos
Herramientas de base de datos
- Edición comunitaria SQLyog
- SQLyog: la GUI de MySQL más completa y fácil de usar ($)
- Banco de trabajo MySQL
- heidisql
- SecuelaPro
- Navegación ($)
- Castor
No SQL
- No SQL
- Redis (almacenamiento de estructura de datos en memoria, utilizado como base de datos, caché y intermediario de mensajes)
- MongoDB (base de datos orientada a documentos)
Estándares
Siga las convenciones PHP comunes para código orientado a objetos y las mejores prácticas establecidas de la industria: PSR-1, PSR-12, PSR-4.
- Grupo de interoperabilidad del marco PHP
- Estándar de codificación básica PSR-1
- Guía de estilo de codificación PSR-12
- Interfaz del registrador PSR-3
- Cargador automático PSR-4
- Esqueleto del paquete PHP estándar
- Un repositorio básico para paquetes de liga
- Versiones semánticas 2.0.0
- Mantener un registro de cambios
Errores y manejo de excepciones.
- Errores y excepciones
- Manejo de errores de las mejores prácticas de PHP
- Excepciones
- Excepciones predefinidas
- Excepciones de SPL
- Errores y manejo de errores.
Depuración
- Xdebug (depurador)
- XAMPP - Configuración de XDebug para PHP 7
- XAMPP - Configuración de XDebug para PHP 8
Pruebas unitarias
“Los probadores de software no crean software; sólo los mejoran”. - Anónimo
- PHPUnit - marco de prueba
- Prueba unitaria, Prueba de integración, Prueba de humo, Prueba de regresión
- Pruebas unitarias, pruebas de integración y pruebas funcionales
- La pirámide de prueba
- El Camino del Testivus (pdf)
- Pruebas de bases de datos
- Mejores prácticas para pruebas de bases de datos con PHPUnit
- Pruebas de bases de datos con PHPUnit
- Configuración de accesorios de base de datos en PHPUnit
- La forma correcta de utilizar las pruebas de integración.
- Cobertura de código del 100 % mediante pruebas automatizadas en aplicaciones Symfony
- Libro electrónico sobre creación de desarrolladores basados en pruebas
- Escribir pruebas. No demasiados. Principalmente integración
- Las pruebas unitarias están sobrevaloradas
Documentación
No comentar tu código cuando eres programador debería ser ilegal - @RiaCorpeno
PHPdoc está destinado a documentar su código. La intención es que siempre agregue comentarios a sus parámetros y tipos de retorno en bloques de documentos que describan lo que hacen. Existe software que puede leer su código y producir documentación en formato pdf o HTML que describe todas sus clases y funciones, así como lo que hacen y cómo usarlas. Es un sistema de documentación en línea como su nombre indica.
- Introducción a PhpDoc
- El estándar PHPDoc (PSR-5) para comentarios
- Wiki PHPDoc
- Sintaxis básica de PHPDoc
- Anatomía de un DocBlock
- Su primer conjunto de documentación
Sesiones
- Sesiones PHP
- Manejo de sesiones
- Galleta
- Gestión de sesiones
- Sesiones PHP en profundidad
Traducciones de texto
- Internacionalización y localización (i18n)
- Symfony: el componente de traducción
- Editor de traducciones PoEdit Gettext
Expresiones regulares
- expresión regular
- Funciones PCRE
- PHP Live Regex (un probador de expresiones regulares en vivo para PHP)
- PHPrex (un probador visual de expresiones regulares para PHP)
XML
- XML (lenguaje de marcado extensible)
- XSD (Definición de esquema XML)
API
- ¿DESCANSO, JABÓN O GRAPHQL?
API RESTful
- Recursos API REST, RESTful y similares a REST
- REST, referencia rápida de API RESTful
- Directrices API
- 7 reglas para el diseño de URI de API REST
API de jabón
- SOAP (Protocolo simple de acceso a objetos)
- La extensión SOAP La extensión SOAP se puede utilizar para escribir servidores y clientes SOAP.
- servicio web
- WSDL (lenguaje de descripción de servicios web)
- Implementando una API SOAP con PHP
Control de versiones
- ¿Qué es el control de versiones?
- GitHub
- Recursos para aprender Git
- Un tutorial de introducción a Git
- Git: la guía sencilla
- El libro Pro Git
Seguridad
Un buen programador mira a ambos lados antes de cruzar una calle de un solo sentido.
- Conceptos básicos de seguridad web: un curso intensivo
- Hoja de trucos de seguridad de PHP
- PHP de la manera correcta: seguridad
- XSS
- La información más reciente sobre software PHP seguro
- Consejos de seguridad para una aplicación PHP
- La lista de verificación de seguridad PHP definitiva
- Mejores prácticas de seguridad de PHP
Arquitectura
- "Arquitectura limpia" del tío Bob (libro)
- La arquitectura limpia
- Patrones de arquitectura de aplicaciones empresariales - Martin Fowler
- La arquitectura de la cebolla, parte 1
- Un viaje hacia el código limpio y el disfrute: agilidad, TDD, patrones de programación orientada a objetos, MVC, desacoplamiento del marco
Diseño impulsado por dominio (DDD)
- DDD para principiantes
- Diseño basado en dominios: abordar la complejidad en el corazón del software (El libro azul)
- Implementación de un diseño basado en dominios (El Libro Rojo)
- Diseñar un microservicio orientado a DDD
- Referencia de diseño basado en dominio (un resumen de los patrones y definiciones de DDD, PDF)
- Servicios en diseño basado en dominios
- Creando servicios que no odiarás
- Diseño basado en dominios (el libro azul de DDD)
- Implementación de un diseño basado en dominios (el libro rojo de DDD)
Arquitectura hexagonal
- Arquitectura de puertos y adaptadores
- Arquitectura Hexagonal desmitificada
- Arquitectura hexagonal
- Alistair en el "Hexágono"
- Guía de estilo de diseño de objetos
- Arquitectura avanzada de aplicaciones web
Programación funcional
- Arquitectura funcional: los pozos del éxito - Mark Seemann (vídeo)
Integración continua (CI) y entrega continua (CD)
- Entrega Continua (Libro)
- Entregando continuamente proyectos PHP (Video)
- Integración continua versus entrega continua versus implementación continua
- ¿Qué es la implementación continua?
- PHP e integración continua con Travis CI
- Docker para desarrolladores de PHP
Revistas
- arquitecto php (inglés)
- Revista PHP (alemán)
- desarrollador web y móvil (alemán)
Mercancías
- La Tienda Oficial de elephpant - Boutique elePHPant
- Mercancía de PHPUnit
- Pegatinas PHP
Comunidad / Noticias
- @oficial_php
- r/PHP
- r/PHPayuda
- PHP en dev.to
- Hashnodo/php
- Desbordamiento de pila
- Boletín semanal PHP
- Boletín Freek.dev
- Correo cosido
- Impresionante boletín PHP
- JetBrains - PHP anotado mensualmente
- Partes internas de PHP
- PHP-Digest de Roman Pronsky (ruso)
- Lista de blogs PHP
- Conferencias PHP en todo el mundo
- Sala de chat PHP en StackOverflow
- ¿Cuándo es la próxima reunión de PHP?