Symfony 4 и Doctrine - почему Doctirne генерирует несколько объявлений переменной `$ __ EXTRA_LINE`? - PullRequest
0 голосов
/ 24 мая 2018

Я создаю ManyToOne ассоциацию для сущностей, которые уже существуют, используя Doctrine CLI.

Сгенерированный код сбрасывается в нескольких объявлениях переменной $__EXTRA_LINE, которая даже не вызывается из класса с $this->.

Это, очевидно, вызывает ошибку при вызове php bin/console make:migration или запуске скрипта из-за нескольких объявлений, а также из-за неопределенных переменных в функциях (не используется $this-> on в теле функции).

Сгенерированный код выглядит следующим образом:

private $__EXTRA__LINE; // 1
/**
* @return Collection|JobInvoice[]
*/
public function getJobInvoices(): Collection
{
    return $this->job_invoices;
}
private $__EXTRA__LINE; // 2
public function addJobInvoice(JobInvoice $jobInvoice): self
{
    if (!$this->job_invoices->contains($jobInvoice)) {
        $this->job_invoices[] = $jobInvoice;
        $jobInvoice->setInvoice($this);
    }
    $__EXTRA__LINE; // no '$this->'
    return $this;
}
private $__EXTRA__LINE; // 3
public function removeJobInvoice(JobInvoice $jobInvoice): self
{
    if ($this->job_invoices->contains($jobInvoice)) {
        $this->job_invoices->removeElement($jobInvoice);

        // set the owning side to null (unless already changed)
        if ($jobInvoice->getInvoice() === $this) {
         $jobInvoice->setInvoice(null);
        }
    }
    $__EXTRA__LINE; // no '$this->'
    return $this;
}

Что может быть причиной этой ошибки или не является ошибкой, и это происходит по причине, которая важна для этой ManyToOne работы?

1 Ответ

0 голосов
/ 24 мая 2018

Я нашел папку продавца в проекте:

    // this fake property is a placeholder for a linebreak
    $newCode = str_replace('    private $__EXTRA__LINE;', '', $newCode);

    /vendor/symfony/maker-bundle/src/Util/ClassSourceManipulator.php line 611

возможно, это поможет вам

...