2010-01-20 22 views
19

Sé OOP (pero no experto) en PHP. Hoy en día quiero construir algo, ya que es el comienzo de las vacaciones semestrales (3 semanas). ¿Tienes buenas sugerencias para mí?Una buena práctica/proyecto para el programador de PHP

(nota: Soy estadístico, y sé C, C++, Minitab, MATLAB, SPSS, SAS, R y diseño de base de datos) No tiene que ser algo relacionado con las estadísticas.

Respuesta

18

Construiría algo que te interese, algo en una tarea o dominio problemático que te interese. De lo contrario, cuando las cosas se ponen difíciles, dices "¿por qué molestarse?" O "ya hay algo que hace esto".

Si te gustan las estadísticas, un buen proyecto podría ser escribir algo de PHP/HTML/JS para consultar un conjunto de datos y ejecutar algunos análisis (media, modo, filtrado por fecha, otros criterios). También te sugiero que hagas alguna interacción dinámica de estilo AJAX con jQuery. De esta forma, tendrá una buena idea de cómo funciona PHP y cómo usarlo para representar algo interesante en HTML.

Lo mejor de todo es que puede resolver un problema real que tenga usted o un colega, en lugar de escribir el código throw away sin ningún valor.

+0

+1 algunos buenos consejos! –

+3

Aunque agregaría algo sobre aprender buenos principios de abstracción y POO para el desarrollo/crecimiento a largo plazo. –

+0

Personalmente, no creo que simplemente codificar algo que te importe conduzca necesariamente a una base de código notable. Creo que deberías comenzar con algo que * necesita estructura *, como un marco MVC, que se usaría como el bloque de construcción para tus proyectos futuros. –

12

La construcción de un ORM, MVC, o un CMS es siempre divertido :-)

+3

pequeña escala CMS es un gran proyecto inicial. Fácil de implementar en un nivel básico, crece rápidamente fuera de control. –

+1

@Joel, comencé un CMS que se salió de control ... Terminé vinculando un combo Flex/Yacc en C a PHP para la creación de plantillas. –

+1

Lo mismo aquí ... scope creep es siempre divertido jaja. – prodigitalson

2

crear un blog simple. Esa es una primera tarea común para alguien que aprende y/o practica un idioma determinado.

+0

¿cuántos motores de blog por una sola Madre Tierra necesitamos? – naivists

+4

@naivists - solo uno, el mío. Mece. –

+0

@naivists cierto, pero este es un proyecto simplemente para la práctica, por lo que no importa si es poco original o útil. – GSto

6

Haz lo que todos hacen! Construya su propio motor de blog/blog

¡Vamos! Admítelo, ¡todos tenemos un medio terminado en algún lado!

¡Puede implementarlo utilizando MVC, tal vez un poco de ORM y algo de XML/XSLT por si acaso! ¡Haz abstracción y define tus separaciones de preocupación!

Incluso podría volverse un poco loco y construir una tienda de blogs sin visión con una interfaz RESTful para que la gente pueda construir sus propios front-ends y simplemente usarlo como una capa de tienda semántica.

+2

http://stackoverflow.com/questions/471940/why-does-every-man-and-his-dog-want-to-code-a-blogging-engine – nickf

+0

@nickf -;) He leído eso. Difundiendo el amor. –

+1

Me gusta esto como un proyecto inicial, porque puede ser tan simple o complejo como desee. Simplemente podrían ser publicaciones que se guardan y muestran, pero puede agregar otros widgets, autores, comentarios, etiquetas, categorías, plantillas/temas, búsqueda, etc. Puede aprender mucho de un proyecto simple. – GSto

1

Se puede construir un (Content Management System) CMS sería útil y un poco diferente de un blog.

4

Escribí algo entre framework y CMS. Esa fue una muy buena experiencia para mí, y aprendí mucho: cómo escribir una conveniente biblioteca de bases de datos, MVC, manejo de temas, panel de control de administración, interfaz de usuario, etc. Y te aconsejo algo similar.

+0

+1 para el panel de control ya que hay pocos o ninguno "generadores de página de administración" en php hoy. – chelmertz

12

Construya algo que usted usará.

Si crees que te gustaría hacer un blog sobre cosas, crea un motor de blogs. Si quieres un sitio web, crea un CMS. Si le gusta la fotografía, cree un sitio web de portafolio con carga de imágenes, etc. Si tiene un montón de discos de vinilo/CD/Magic Cards/DVD antiguos que desea catalogar, cree una herramienta para eso. Si tiene muchos otros proyectos en marcha, cree un sistema de seguimiento de tareas/problema. Entiendes la idea.

Aprenderá mucho comiendo su propia comida para perros, y realmente lo empujará a mejorar su proyecto.

+5

Además, ya conoce todas las demandas del cliente (¡usted!) – chelmertz

1

Ayude a la comunidad, encuentre un proyecto de código abierto en el que pueda contribuir. Crea algo para Moodle, joomla, Zenphoto Gallery. Esto también es bastante educativo ya que aprendes a codificar "hasta los estándares".

2

Estoy equivocado, probablemente, pero no me siento cómodo escribiendo scripts OOP, que dura solo unos pocos milisegundos. Será mejor que lo use en un proyecto que se ejecuta durante unos minutos \ días.

Entonces, trataría de escribir un deamon de UNIX.

(He leído un montón de sfuff interesante sobre la construcción de UNIX-deamons en PHP en George Shlossneigl (o así) "Programación PHP profesional".)

+0

"Programación avanzada de PHP" George Schlossnagle - eso es lo que quiero decir –

4

Puesto que usted ya conoce las estadísticas, ¿por qué no tomar uno de los conjuntos de datos de estadísticas disponibles en la web para que cualquiera pueda usarlos y analizarlos. Puede mantener su interés, permitirle construir algo útil y analizar datos reales. conjuntos de datos de Nueva York están disponibles aquí: http://www.nyc.gov/html/datamine/html/home/home.shtml

2
Probablemente no

la mejor respuesta, pero me gusta este pequeño ejercicio como un calentamiento rápido

crear una carpeta con un número aleatorio de archivos en blanco (por ejemplo, 9) cada una con un nombre completamente al azar , hacer un foreach bucle y cambiar el nombre de cada archivo forma incremental, a continuación, al mismo tiempo, escribir a cada archivo un valor incremento negativo

orig file-name a b c d e f g h i 
file-name  1 2 3 4 5 6 7 8 9 
file-content 9 8 7 6 5 4 3 2 1 
4

Creo que un sitio de tipo de red social es bueno si solo quieres aprender muchas cosas porque un sitio de tipo de red social puede tocar todos los aspectos de PHP cuando construyas cosas como esta ...

  • sistema de autentificación del usuario
  • Blogs
  • foros
  • perfiles
  • sistema de administración
  • almacenamiento en caché
  • sistema de anuncios
  • API REST
  • sólo hay tan mucho más, por eso me gusta trabajar en ellos, se llega a hacer un poco de todo
Cuestiones relacionadas