Я создал класс сущности Employee.php и хочу, чтобы в полях использовалась аннотация @Data.
Я на самом деле пытался следовать инструкциям в https://github.com/mtarld/symbok-bundle, который включает редактирование symbok.yaml сконфигурация по умолчанию (файла не было, поэтому мне пришлось создать его в config / packages /).Кроме того, я проверил, правильно ли композитор добавляет пакет и все вроде бы нормально.
Employee.php:
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Mtarld\SymbokBundle\Annotation\Data;
use Mtarld\SymbokBundle\Annotation\ToString;
/**
* @Data
* @ToString
* @ORM\Entity(repositoryClass="App\Repository\EmployeeRepository")
*/
class Employee
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @var int
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
* @var string
*/
private $firstName;
/**
* @ORM\Column(type="string", length=255)
* @var string
*/
private $lastName;
}
symbok.yaml:
symbok:
# Namespaces that you wanna be processed
namespaces:
- 'App\Entity'
- 'App\Model'
# Cache activation (useful to disable it when developing)
cache: ~
defaults:
# If setters are fluent by default (default false)
fluent_setters: ~
nullable:
# If getters and setters use/return nullable parametes/values (default false)
getter_setter: ~
# If constructor uses nullable parameters (default true)
constructor: ~
комплектов.php:
<?php
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true],
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true],
Mtarld\SymbokBundle\SymbokBundle::class => ['all' => true],
];
Все, что у меня есть, это «Неиспользуемое личное поле. Более того, когда я работаю: php bin / console doctrine: schema: update
У меня есть:
В строке 54 AnnotationException.php:
[Семантическая ошибка] Аннотация «@Data» в классе App \ Entity \ Employee никогда не импортировалась. Возможно, вы забыли добавить «use»заявление для этой аннотации?