Symbok @Data аннотация импортируется, но поля, кажется, не используют его - PullRequest
0 голосов
/ 25 июня 2019

Я создал класс сущности 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»заявление для этой аннотации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...