2011-04-22 14 views
5

Estoy usando PHP 5.2.14 en el trabajo, por lo que no hay una opción de espacio de nombres para mí. ¿Es aceptable para mí sustituir clases con funciones estáticas para el espaciado de nombres?Pregunta sobre la clase con funciones estáticas y espacio de nombres en PHP

Por ejemplo, tenemos muchas funciones "prácticas" por ahí que hacen cosas diversas que están agrupadas en este archivo, y tienden a ensuciarse. Me encantaría que siguieran algún tipo de lógica organizativa.

Así que mi solución es esta ... Solo quiero crear clases llamadas "StringTools" o "DateTools" y cada vez que necesitemos usar esas funciones simplemente llamaría a SomethingTools :: funciton_name (...) . Sería una clase simple llena de funciones estáticas, con un constructor vacío, hecho simplemente por el espacio de nombres y la organización.

Sería fácil de administrar y muy organizado, porque las funciones relacionadas se organizarán en su propio archivo o carpeta, las llamadas de clase se manejarán con autocarga, por lo que ni siquiera tenemos que incluir nada.

¿Es este un enfoque aceptable para el problema? o ¿hay una mejor manera de lidiar con las funciones de organización en PHP pre 5.3 para que los programadores no se pisen los pies al nombrarlos? las cosas no organizadas realmente me molestan y de hecho estoy esperando las horas de trabajo extra que pasaré solucionando esto.

+2

Es aceptable y ampliamente utilizado. (Y una sintaxis adecuada del espacio de nombres se habría visto así de todos modos.) – mario

Respuesta

3

Esto no solo es aceptable, probablemente sea la única solución limpia. El objetivo de un objeto siempre debe ser agrupar funciones similares, de modo que mientras siga esto, tendría sentido (IMO) agrupar estas funciones en clases. Lo que desea tener en cuenta es que en realidad está agrupando funciones similares y no solo lanzando funciones a una clase. Esto solo empeorará el problema ya que confundirá a los desarrolladores cuando se trata de encontrar métodos al escribir código nuevo.

+0

Genial, gracias por la respuesta. Sí, voy a agrupar como función juntos, que es el objetivo de mí hacer esto. Ahora mismo tenemos un archivo con casi 10,000 líneas de códigos de funciones que se remontan a finales de los 90, algunas de las cuales ni siquiera se usan ... Los nuevos métodos estáticos organizados, junto con la autocarga, serán increíblemente sorprendentes. – jack97

Cuestiones relacionadas