Estoy trabajando en una aplicación web php basada en clase. Tengo algunos lugares en los que los objetos interactúan, y tengo ciertas situaciones en las que utilizo códigos de error para comunicarme con el usuario final, generalmente cuando los valores de los formularios faltan o no son válidos. Estas son situaciones en las que las excepciones no están justificadas (y no estoy seguro de poder evitar las situaciones con excepciones).sistematizando los códigos de error para una aplicación web en php?
En un objeto, tengo unos 20 números de código, cada uno de los cuales corresponde a un mensaje de usuario, y un mensaje de administrador/orientador, por lo que ambas partes saben lo que está sucediendo. Ahora que he trabajado varias veces en el código, me resulta difícil averiguar rápidamente qué números de código de la serie ya he utilizado, así que accidentalmente creo números de código conflictivos. Por ejemplo, acabo de hacerlo hoy con 12, 13, 14 y 15.
¿Cómo puedo organizar mejor esto para que no cree códigos de error conflictivos? ¿Debería crear una clase singleton, errorCodes, que tenga una lista maestra de todos los códigos de error para todas las clases, sistematizándolos en toda la aplicación web? ¿O debería cada objeto tener su propio conjunto de códigos de error, cuando corresponda, y solo tengo una lista en el comentario del objeto, para usar y actualizar eso a medida que avanzo?
Editar: Así que me gustan las sugerencias para usar constantes o constantes con nombre dentro de la clase. Eso me da un lugar único donde defino programáticamente y hago un seguimiento de los códigos de error y sus mensajes.
La siguiente pregunta: ¿qué tipo de interfaz proporciono al mundo exterior para los códigos y mensajes de error de esta clase? ¿Hago algo como triggerError(20)
en la clase, y luego proporciono un método público para devolver el código de error, la constante de cadena y el mensaje de usuario y administrador?
Esa es una gran idea. Me gusta codificar los números con * algún * tipo de mensaje de cadena que indica lo que significan. Entonces, el siguiente paso: ¿cómo puedo proporcionar una interfaz al mundo exterior para los errores? ¿Obtiene un objeto que utiliza el objeto desencadenado por error la cadena, el código de error o qué? – user151841
@ user151841: Me parece que puede hacer lo que quiera con un código de error dado. Personalmente, usaría excepciones para esto, pero eso parece estar fuera de lo que estás buscando. –