Symfony 错误 在链配置的命名空间 XXX 中找不到类 XXX
关于这个主题已经有一些其他问题,但没有一个真正有帮助。我是Symfony的新手,所以很难理解它。
我在文件 Client\IntranetBundle\LDAP\LDAPAuthenticationProvider 中.php并且此代码导致错误:
$user = new LDAPUser($username);
我确实添加了它的命名空间,即:
use Client\IntranetBundle\LDAP\LDAPUser;
LDAPUser 实现 UserInterface
我得到的错误是
The class 'Client\IntranetBundle\LDAP\LDAPUser' was not found in the chain
configured namespaces Client\ClientBundle\Entity
这是什么意思?从我所读到的内容来看,它与映射有关。
我在config.yml中的学说 orm 设置为:
orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
希望你能帮助我。
编辑#1:
实际上,我发现它不是
$user = new LDAPUser($username);
这是导致错误的,但当我尝试持久化此实体时:
$entityManager->persist($user);
编辑#2:
我对映射的问题感到困惑:
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Client\IntranetBundle\LDAP\LDAPUser" table="users" repository-class="Client\ClientBundle\Repository\UserRepository">
<id name="id" type="integer" column="id">
<generator strategy="AUTO" />
</id>
<field name="username" column="username" type="string" length="100" />
</entity>
也许是因为我在两个捆绑包之间跳跃?