prettier / prettier/plugin-php

Class Name From Class Variable Throws Exception

Offen
#2,410 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
PHP
Sterne
1.9k
Forks
139
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

There seems to be a PHP Prettier parse exception when ::class is called on a class property. This is a contrived example, but the following is a minimal reproducible example that throws an exception when checked:

class Test
{
    public $exception;

    public function test()
    {
        $this->exception = new \Exception("test");
        return $this->exception::class; // Throws "SyntaxError: Parse Error : syntax error, unexpected 'class' (T_CLASS)"
    }
}

Happens on the PHP Prettier playground and my local with:

  • Node 18.20.5
  • Prettier 3.4.2
  • PHP Prettier 0.22.2

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere die Exception mit dem minimalen Klassen-Eigenschaftsbeispiel im PHP Prettier Playground oder in den aufgeführten lokalen Versionen. Verfolge, wie der Parser $this->exception::class verarbeitet, und füge anschließend eine Abdeckung für diesen Fall hinzu. Als erledigt gilt die Aufgabe, wenn das Beispiel akzeptiert und ohne den gemeldeten T_CLASS-Parsefehler formatiert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.