Я запускаю Symfony 3.1.5, PHP 7.0.12 и композитор 1.2.1.
У меня есть простая сущность:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Class Event
* @package AppBundle\Entity
* @ORM|Entity
* @ORM|Table(name="event")
*/
class Event
{
/**
* @ORM|Column(type="integer")
* @ORM|Id
* @ORM|GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM|Column(type="guid")
*/
private $uuid;
/**
* @ORM|Column(type="string", length=100)
*/
private $name;
/**
* @ORM|Column(type="text")
*/
private $description;
/**
* @ORM|Column(type="datetimetz")
*/
private $startDate;
/**
* @ORM|Column(type="datetimetz")
*/
private $endDate;
/**
* @ORM|Column(type="text")
*/
private $location;
}
В документации указано, что я могу запустить
php bin/console doctrine:generate:entities AppBundle/Entity/Event
для создания геттеров и сеттеров для моих личных атрибутов. Я столкнулся со следующей ошибкой:
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "@Doctrine\ORM\Mapping" in class AppBundle\Entit
y\Event does not exist, or could not be auto-loaded.
Поскольку аннотация существует как псевдоним @ORM
, я предположил, что это проблема с автозагрузкой.
Я погуглил и нашел несколько старый пост который связан с этим плагином, который также не работает.
Все сообщения, похоже, связаны с тем, что класс Doctrine\ORM\Mapping
не загружается автоматически обычным способом, а должен загружаться отдельно. Но я не могу найти определенного руководства о том, как настроить и запустить это для консоли. Не могли бы вы помочь?