Я хотел использовать Doctrine в своем проекте, но я не могу использовать Entity Manager. Я создал entites, репозитории, файлы конфигурации и dbconnect, но кажется, что это сделано неправильно. Не могли бы вы проверить этот код? Может, мне не хватает чего-то действительно маленького.Не удается включить администратор сущности доктрины
Мой файл БДСВЯЗЬ (он загрузился в init.php):
<?php
namespace Projekt\Config;
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
$paths = array("Entity");
$isDevMode = false;
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => '',
'dbname' => 'projekt',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode, null, null, false);
$em = EntityManager::create($dbParams, $config);
Мой Repository пример:
<?php
namespace Projekt\Repository;
use Doctrine\ORM\EntityRepository;
/**
* Message
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class Message extends EntityRepository
{
public function getMessage($id)
{
$message = $this->find($id);
return $message;
}
public function getAllMessages()
{
}
public function createMessage()
{
}
public function updateMessage()
{
}
public function deleteMessage()
{
}
}
Теперь, когда я пытаюсь получить доступ по умолчанию или метод ввода пользовательского хранилища получить эту ошибку:
Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::__construct(),
called in F:\xampp\htdocs\mvc\app\Controllers\Messages.php
on line 15 and defined in F:\xampp\htdocs\mvc\vendor\doctrine\orm\lib\Doctrine\ORM\EntityRepository.php on line 64
линии 64 в EntityRepository.php является функцией __construct, объявляющий EntityManager, но это, кажется, не работает должным образом:
public function __construct($em, Mapping\ClassMetadata $class)
{
$this->_entityName = $class->name;
$this->_em = $em;
$this->_class = $class;
}