Php 使用make生成的实体类:尽管使用了命名空间,但在控制器中无法识别实体
在Symfony 4中,使用Php 使用make生成的实体类:尽管使用了命名空间,但在控制器中无法识别实体,php,symfony,doctrine,symfony4,Php,Symfony,Doctrine,Symfony4,在Symfony 4中,使用bin/console我创建了新实体: php bin/console make:entity Being ... 它创建了Entity/Being.php和Repository\BeingRepository.php文件 后来我还使用了make:migration和原则:migration:migrate,我的更改现在在数据库中可见 问题是,当我在controller/DefaultController.php中编写简单控制器时: 我得到一个错误: 类“App\
bin/console
我创建了新实体:
php bin/console make:entity Being
...
它创建了Entity/Being.php
和Repository\BeingRepository.php
文件
后来我还使用了make:migration
和原则:migration:migrate
,我的更改现在在数据库中可见
问题是,当我在controller/DefaultController.php
中编写简单控制器时:
我得到一个错误:
类“App\Entity\Being”不存在
我还尝试将Being
更改为explicitly\App\Entity\Being
,结果相同
请注意,我没有涉及由make:entity
(entity/Being.php
和Repository\BeingRepository.php
)创建的文件。第一个看起来像这样:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\BeingRepository")
*/
class Being
{
...
尝试只在控制台中执行composerdump autoload
或只执行composer dump a
。在大多数情况下,这是有帮助的
composer dumpa
假设您在PSR-4自动加载时使用默认的composer.json,您将需要运行
php bin\console cache:clear
和php bin\console cache:warmup
,如果使用apcu
或opcache
,请确保重新启动php fpm
,您是否发现了这一点?假设您的实体文件是src/entity/Being.php,并且您处于开发模式,那么您真的不应该在composer或缓存清除方面无所事事。特别是自从移民成功以来。IDE是否识别实体?我所能想到的就是你在某个地方出现了拼写错误。
composer dumpa