Мы используем PHP 5.3 и Zend Framework для большого проекта, и я столкнулся с проблемой удобства. Мы снова и снова используем одни и те же сообщения об ошибках в разных частях приложения, например «У вас нет разрешения на выполнение этого действия». У кого-нибудь есть какие-то уникальные способы повторного использования сообщений об ошибках, чтобы нам не приходилось переписывать их снова и снова?
Моей первой мыслью было сделать что-то простое, как это:
class ErrorMessage
{
const ERROR_NO_PERMS = 'noPerms';
const ERROR_INT = 'int';
protected static $_messages = array(
self::ERROR_NO_PERMS => 'You do not have permission to complete this action',
self::ERROR_INT => "'%s' must be an integer",
);
public static get($errorCode)
{
if (!array_key_exists($errorCode, self::$_messages)) {
// error
}
// check for translation
return self::$_messages[$errorCode];
}
}
Что бы вы сделали? (Имейте в виду, что мы хотели бы, чтобы это было интегрировано с ZF, поэтому мы открыты для любых идей, которые распространяются на собственные классы ZF.)