首页 > 解决方案 > 第一次使用 symfony 框架,我遇到了这个问题语法错误,意外的 '{'

问题描述

当我在 cmd php bin/console make:migration syntax error 上键入这个时,意外的 '{' 我试过了,我在最后添加 ?> 用于 php balise 没有任何反应。这是我第一次在 symfony 上请客气,谢谢


<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
 * @ORM\Entity(repositoryClass="App\Repository\ProduitRepository")
 */
class Produit
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;
/**
     * @ORM\Column(type="string", length=255)
     */
    private $libelle;
    /**
     * @ORM\Column(type="float")
     */
    private $prix;
    public function getId(): ?int
    {
        return $this->;id;
    }
    public function getLibelle(): ?string
    {
        return $this->;libelle;
    }
    public function setLibelle(string $libelle): self
    {
        $this->;libelle = $libelle;
        return $this;
    }
    public function getPrix(): ?float
    {
        return $this->;prix;
    }
    public function setPrix(float $prix): self
    {
        $this->;prix = $prix;
        return $this;
    }
}

标签: php

解决方案


我不确定这是否是您看到的错误的原因,但该文件中包含的每一行都包含$this->语法错误。在这些行中的任何一行中,您都不应该在 之后直接使用分号->- 分号仅位于一行的末尾。So return $this->;id;should be return $this->id;, $this->;libelle = $libelle;should be$this->libelle = $libelle;等。该类中有五个这样的错误。

尝试修复这些错误并再次运行迁移命令。如果您使用生成实体,bin/console make:entity那么 Symfony 应该会自动为您创建这些类,而无需您编写自己的 getter 和 setter。请参阅https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html


推荐阅读