Я работаю над классным php-приложением. У меня есть несколько мест, где объекты взаимодействуют, и у меня есть определенные ситуации, когда я использую коды ошибок для связи с конечным пользователем - обычно, когда значения формы отсутствуют или недействительны. Это ситуации, когда исключения являются необоснованными (и я не уверен, что смогу избежать ситуаций с исключениями в любом случае).
В одном объекте у меня есть около 20 кодовых номеров, каждый из которых соответствует сообщению пользователя и сообщению администратора / разработчика, так что обе стороны знают, что происходит. Теперь, когда я работал над кодом несколько раз, я обнаружил, что трудно быстро выяснить, какие кодовые номера в серии я уже использовал, поэтому я случайно создал конфликтующие кодовые номера. Например, я только что сделал это сегодня с 12, 13, 14 и 15.
Как мне лучше организовать это, чтобы я не создавал конфликтующие коды ошибок? Должен ли я создать один одноэлементный класс errorCodes, который имеет основной список всех кодов ошибок для всех классов, систематизируя их по всему веб-приложению? Или каждый объект должен иметь свой собственный набор кодов ошибок, когда это уместно, и я просто сохраняю список в комментарии к объекту, чтобы использовать и обновлять его по мере продвижения?
Изменить: Так что мне нравятся предложения использовать константы или именованные константы в классе. Это дает мне единственное место, где я программно определяю и отслеживаю коды ошибок и их сообщения.
Следующий вопрос: какой интерфейс я предоставляю внешнему миру для кодов ошибок и сообщений этого класса? Должен ли я сделать что-то вроде triggerError(20)
в классе, а затем предоставить открытый метод для возврата кода ошибки, строковой константы и сообщения, обращенного к пользователю и администратору?