我正在使用 Symfony3(与 SonataAdminBundle 一起),我需要创建一些验证文件。由于我有几个实体,并且我想将验证 yml 文件拆分为每个实体一个,因此我想使用依赖注入加载程序来加载这些文件。现在,我的问题是:
如果我为我的验证文件创建一个自定义加载器,我是否还需要手动加载我的 services.yml 和 routing.yml?
我的代码是否有任何明显的问题会导致以下错误?
YamlFileLoader.php 第 404 行中的 InvalidArgumentException:没有扩展能够加载“UserAdminBundle\Entity\User”的配置(在 *****src/UserAdminBundle/DependencyInjection/../Resources/config/validation/validation.yml )。寻找命名空间“UserAdminBundle\Entity\User”,没有找到
我的文件:
UserAdminBundle\Entity\User:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: [email]
message: 'This user already exists'
UserAdminBundle\Entity\TaxToReseller:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: [resellerId, taxId]
message: 'Reseller already has this tax'
UserAdminBundle\Entity\Tax:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: [ name, value ]
message: 'This tax already exists'
我的加载方法:
public function load(array $configs, ContainerBuilder $container)
{
$loader = new YamlFileLoader(
$container,
new FileLocator(__DIR__.'/../Resources/config')
);
//$loader->load('validation/validation.yml');
$loader->load('validation/agent_validation.yml');
$loader->load('validation/call_centre_validation.yml');
$loader->load('validation/reseller_header_validation.yml');
$loader->load('validation/reseller_validation.yml');
$loader->load('validation/tax_validation.yml');
}
我可以使用一些想法来解释为什么它找不到东西!
提前致谢!