La mejor manera de aprender PHP es esquivar todas las peculiaridades y cosas malas que posee y aprender solo las mejores prácticas.
Para comenzar, visite PHP: The Right Way. Este sitio fue creado por el autor de Slim Framework y contiene una referencia rápida de las cosas con las que debe familiarizarse aprendiendo y haciendo.
Cuando aprenda todas las cosas necesarias para construir un sistema web básico (interacciones de bases de datos, sesiones, cookies, filtrado y protección de datos, etc.), cree una aplicación CRUD simple. Intenta mejorarlo:
- ¿Cuándo usamos css externos e internos?
- Cuando utiliza elementos de encabezado HTML (por ejemplo, h1, h2, h3), ¿qué jerarquía utiliza en un documento y por qué?
- ¿Existe un complemento o servicio de WordPress como este servicio LeadFormly?
- ¿Cuál es la forma de hacer CMS en PHP sin inicio de sesión 'admin'? Lo que quiero decir es CMS sin formulario de inicio de sesión en la página de inicio, pero sin WordPress ni nada de eso.
- ¿Cuál es el estado (en 2015) y el futuro de Google App Engine?
- escribir una API RESTful para ello
- redacción de documentación (tendrá la gran costumbre de documentar su código, que es crucial para escribir software más grande y de código abierto)
- agregue algunas pruebas (obtenga más información sobre el desarrollo basado en pruebas)
- hacer que las cosas vivan con AJAX
Entregue su código a alguien que tenga más experiencia en PHP para su revisión; con esto, se asegurará de que su código esté bien estructurado, sea simple y efectivo. Intercambio de pila de revisión de código
Después de eso, puede intentar clonar algunos sitios populares como Twitter / Facebook o incluso crear algo como Quora.
Cuando tiene pocos proyectos PHP detrás, puede comenzar a aprender un marco, que es básicamente un conjunto de herramientas de funcionalidades para un desarrollo más rápido sin reinventar la rueda. Algunos de los más populares son CodeIgniter, Symfony, Laravel, Zend, Yii …
¿Cómo estaría seguro de que está listo para el marco? Después de que comprenda bien estas cosas:
- Clases y objetos
- Espacios de nombres – Manual
- Patrones de diseño y refactorización
¡Buena suerte!