0

我正在编写一个 Symfony 的 Bundle 来管理 AWS SES 发送的 AWS SNS 通知。

我代表一个 Bounce 对象,目前我正在使用常量:

/**
 * A Bounce Entity.
 *
 * @see http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-object
 */
class Bounce
{
    const TYPE_PERMANENT            = 'Permanent';
    const TYPE_PERM_GENERAL         = 'General';
    const TYPE_PERM_NOEMAIL         = 'NoEmail';
    const TYPE_PERM_SUPPRESSED      = 'Suppressed';

    const TYPE_TRANSIENT            = 'Transient';
    const TYPE_TRANS_GENERAL        = 'General';
    const TYPE_TRANS_BOXFULL        = 'MailboxFull';
    const TYPE_TRANS_TOOLARGE       = 'MessageTooLarge';
    const TYPE_TRANS_CONTREJECTED   = 'ContentRejected';
    const TYPE_TRANS_ATTACHREJECTED = 'AttachmentRejected';

    const TYPE_UNDETERMINED         = 'Undetermined';
    ...

现在,由于这些值将被写入数据库,因此使用字符串会大大增加我用来保存通知的空间,所以我使用了位掩码,但我从未使用过它们

我已经在 StackOverflow 上阅读了有关位掩码的内容,但我无法将我阅读的内容应用于这个具体场景。

如何使用位掩码来表示这些常量?有没有办法使用位掩码来“验证”通知的类型和子类型?

4

0 回答 0