antoinelemaire/blacklist-bundle

为Symfony提供使用注释的Blacklist系统,并集成了Sonata管理后台。

1.0.0 2018-04-09 07:04 UTC

This package is auto-updated.

Last update: 2024-09-18 02:31:57 UTC


README

带有Symfony集成的Blacklist系统。只需在数据库中插入blacklist值/类型组合并使用注释进行断言。

Example Database

安装

将包添加到您的composer.json文件中

"antoinelemaire/blacklist-bundle": "dev-master",

将以下内容添加到app/AppKernel.php

<?php
    public function registerBundles()
    {
        $bundles = array(
            ...
            new AntoineLemaire\BlacklistBundle\AntoineLemaireBlacklistBundle(),
        );

        ...

        return $bundles;
    }

配置

Sonata admin

sonata_admin:
    dashboard:
        groups:
            antoinelemaire_blacklist:
                label: Blacklist
                label_catalogue: AntoineLemaireBlacklistBundle
                items:
                    - AntoineLemaire\BlacklistBundle\Admin\BlacklistAdmin

使用方法

可用类型

  • email
  • email_domain(当定义了'email=true'时,仅对值的域名部分应用约束)
  • ip
class User
{
    /**
     * @var string
     
     * @IsNotBlacklisted(type="email")
     * @IsNotBlacklisted(type="email_domain", email=true)
     */
    private $email;
    
    /**
     * @var string
     
     * @IsNotBlacklisted(type="ip", message="This IP is blacklisted.")
     */
    private $ip;
    
}