Heim  >  Fragen und Antworten  >  Hauptteil

PHP/Symfony-Anmerkung für das Throw-Tag

Vor Kurzem hatte ich ein kleines Problem mit den Annotationen in Symfony (ich bin mir nicht sicher, ob das auch eine reine PHP-Sache ist).

Die neue Routenanmerkung sieht so aus: #[路由('route', name: 'route_name')]

Wenn ich @throws denselben Anmerkungstyp möchte, kann ich keine Möglichkeit finden, den alten Typ zu ersetzen, der so aussieht:

/**
 * @throws Exception
 */

Ich möchte also neue Arten von Kommentaren, sogar @throws

P粉464082061P粉464082061229 Tage vor290

Antworte allen(1)Ich werde antworten

  • P粉076987386

    P粉0769873862024-03-28 09:16:53

    属性背后的主要思想是将静态元数据附加到我们的代码(方法、属性等)。这些元数据通常包括诸如“配置”之类的概念。在您的示例中,此属性为您的框架设置了一条路径。有了原则,你就可以建立你的实体。几年前,还没有属性,因此开发人员使用注释来声明它们。 PHP8 允许我们使用属性。让我们避免使用注释(@Route)。

    Throw 标签不会在您的应用程序中设置任何内容。该异常只能由您的代码引发。

    /**
     * @throws Exception //this line has no impact on your code
     */
    #[Route('route', name: 'route_name')] //this line has an impact by setting up your routes
    public myAction() {
      throw new Exception('foo'); // This line have an impact on your code
    }
    

    这是为开发人员(和有价值的 IDE)提供的信息,可以帮助我们理解代码。因此,@Throw 标签没有属性版本。 @Throw 标签“仅”是文档、PHPDoc、注释:) 您的代码应该在注释和属性中混合注释

    Antwort
    0
  • StornierenAntwort