2009-08-21 15 views
7

He leído un libro sobre codificación PHP y también he creado mi propio proyecto desde cero (era un blog personal) pero me gustaría obtener más experiencia práctica en temas como seguridad, arquitectura y diseño. Creo que analizar el código de profesionales me ayudará a obtener ese conocimiento.Más fácil de seguir Proyectos de código abierto PHP para aprender de

He mirado tanto WordPress como PhpBB, pero creo que hay demasiadas cosas a la vez para que las comprenda; y mucho de esto no se está hundiendo.

¿De qué proyectos de fuente abierta ustedes aprendieron PHP?

¿Hay algún proyecto de PHP a menor escala que quizás sea más fácil de seguir?

cualquier ayuda sería muy apreciada.

gracias!

Respuesta

1

Yo diría que involucrarse en la comunidad de uno de los grandes proyectos de código abierto probablemente sea una buena forma de aprender esas cosas. Además, tenga en cuenta que esas cosas (seguridad, arquitectura y diseño) son en gran medida independientes del idioma. Muchos de los principios que se aplican a PHP también se aplicará a Ruby, Python, etc. Algunos proyectos de código abierto que son bastante fáciles de extender y uso incluyen:

La idea no es necesariamente aprender ninguno de ellos por dentro y por fuera y convertirse en un maestro de ellos. Pero todos estos proyectos tienen una arquitectura de complemento de algún tipo. Esto significa que puede configurar un sitio básico sin hacer ninguna codificación y luego sumergirse y comenzar a hacer una pequeña codificación por su cuenta. Esto le permite aprender a su propio ritmo sin tener que escribir todo desde cero.

Hacer esto también le da una idea de cómo cada uno de estos proyectos está configurado (diseño y arquitectura) y si va a escribir módulos/complementos para ellos, tendrá que descubrir cómo manejan la seguridad, que te ayudará allí también.

5

La sensación de estar abrumado con los proyectos se debe a que está tratando de comprender el proyecto en su totalidad. Creo que se beneficiarían de seguir/estudiar piezas de código más pequeñas. Esto debería ser lo que los proyectos más grandes contienen de todos modos: piezas más pequeñas (componentes) utilizados como bloques de construcción para formar un proyecto mayor.

Un proyecto del que he aprendido mucho fue Zend Framework. Los componentes son modulares para que pueda estudiarlos de forma aislada. Le permitirán mejorar su comprensión de la arquitectura y el diseño.

Otra cosa es estudiar algunos patrones de diseño comunes (singleton, fábrica, estrategia para nombrar tres) y reconocer que se usan en los proyectos o tratar de usarlos en su propio proyecto y ver cómo eso mejora su código.

Puede obtener una comprensión decente de los problemas de seguridad leyendo la siguiente guía: phpsec. Además, si está trabajando en una parte de su proyecto que sabe que necesita atención a este respecto, busque algunos artículos y trate de aplicar los consejos que se brindan allí.

Creo que hay que dar pequeños pasos. No creas que puedes aprender todo de una vez.Encuentro que mejoro más rápido centrándome en un punto a la vez y profundizando más en él. Trato de aplicarlo lo mejor que puedo, cambio un código anterior en función de mi comprensión más profunda y sigo adelante hasta que alcanzo otro punto de fricción. Muchas veces parece que encuentro cosas que ya he estudiado, pero reorientarme con habilidades mejoradas me permite obtener una comprensión más profunda que la vez anterior.

0

Cuando empecé a aprender PHP, traté de construir una especie de CMS, y eso realmente me ayudó a aprender algunos de los conceptos básicos de diseño y programación de una aplicación.

Y, como dijo koen, echando un vistazo bajo el capó de frameworks realmente puede ayudar con su comprensión de cómo los componentes funcionan individualmente, y también cómo una aplicación puede funcionar como un todo.

Cuestiones relacionadas