Лучшие практики для обработки ошибок в приложениях codeigniter / php - PullRequest
4 голосов
/ 24 апреля 2010

Мы работаем с новым приложением на основе codeigniter, которое перекрестно ссылается на разные функции PHP вперед и назад из разных библиотек, моделей и тому подобного.

Мы запускаем PHP5 на сервере и пытаемся найти хороший способ управления ошибками и отчетами о состоянии, возникающими в результате использования наших функций. При использовании return в функциях выполнение заканчивается, поэтому больше ничего не может быть отправлено обратно. Правильно?

Как лучше всего отправлять информацию о состоянии или код ошибки по окончании выполнения фактической функции?

Должны ли мы рассматривать использование исключений или любой другой подход? http://us.php.net/manual/en/language.exceptions.php

1 Ответ

5 голосов
/ 25 апреля 2010

Должны ли мы рассматривать использование исключений или любой другой подход?

Поскольку вы привержены PHP5, я думаю, использование исключений в ваших пользовательских библиотеках - отличная идея. Использование Try / Catch и Exceptions обеспечит намного лучший контроль над вашим кодом, а также потенциально более надежную регистрацию ошибок.

Расширение класса Exceptions позволит вам получить детальный уровень контроля над тем, какие исключения могут генерировать ваши модели и библиотеки и как вы реагируете на них.

Я могу представить, что модель выдает исключение dataInputException, если ему был предоставлен неверный ввод, и исключение dataOperationException, если не удалось обработать данные (скажем, $ this-> db-> insert () вернул ошибку). То, как вы справляетесь с каждым видом исключений, может быть различным.

Что касается отчетов об ошибках при разработке, методы класса Exceptions предоставят вам много информации (например, имя файла и номер строки).

Кроме того, некоторые сторонние коды используют исключения (например, PHP Connect в Facebook Connect).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...