Цель состоит в том, чтобы создать модуль, в который можно вставить все сущности, а затем использовать их в других модулях.Вот почему я создал модуль Entity, в который я ввел сущности.К сожалению, когда я пытаюсь использовать один из этих объектов в базовом контроллере, я получаю сообщение об ошибке: класс не найден
Это мой композитор
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/",
"Entity\\": "module/Entity/src/"
}
},
Я уже выполняю эту команду
composer dump-autoload
Мой класс сущности находится под
module/Entity/src/Model/
Это мой класс
<?php
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* SysUserRole
*
* @ORM\Table(name="sys_user_role")
* @ORM\Entity
*/
class SysUserRole
{
/**
* @var int
*
* @ORM\Column(name="ID_SYS_USER_ROLE", type="integer", nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $idSysUserRole;
/**
* @var string
*
* @ORM\Column(name="NAME", type="string", length=100, nullable=false)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="DESCRIPTION", type="string", length=255, nullable=false)
*/
private $description;
/**
* @return int
*/
public function getIdSysUserRole()
{
return $this->idSysUserRole;
}
/**
* @param int $idSysUserRole
*/
public function setIdSysUserRole($idSysUserRole)
{
$this->idSysUserRole = $idSysUserRole;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
}
Это мой config \ autoload \ doctrine.global.php
'doctrine' => [
'connection' => [
'orm_default' => [
'driverClass' => PDOMySqlDriver::class,
'params' => [
'host' => 'localhost',
'user' => '***',
'password' => '****',
'dbname' => 'mydb',
'charset' => 'utf8',
'driverOptions' => array(
1002 => 'SET NAMES utf8'
)
]
],
],
'authentication' => [
'orm_default' => [
'object_manager' => 'Doctrine\ORM\EntityManager',
'identity_class' => 'Application\Entity\User',
'identity_property' => 'email',
'credential_property' => 'password',
],
],
'driver' => [
'entity_driver' => [
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => [__DIR__ . '/../../module/Entity/src/Model/']
],
'orm_default' => [
'drivers' => [
'\Entity' => 'entity_driver'
]
]
],
],
В действии контроллера я пробую это
$entity = new SysUserRole();
Ошибка:
Class 'Entity\SysUserRole' not found
Редактировать:
Ошибка изменена
Я двигаюсьэтот код внутри module.config.php
'doctrine' => [
'driver' => [
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Model')
),
'orm_default' => [
'drivers' => [
//was \Entity
'Entity\Model' => __NAMESPACE__ . '_driver'
]
]
],
]
новая ошибка
The class 'Entity\Model\SysUserRole' was not found in the chain configured namespaces \Entity\