prettier / prettier/plugin-php

Unable to optional chain from parentheses

Aperta
#2,447 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
PHP
Stelle
1.9k
Fork
139
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

@prettier/plugin-php v0.24.0
Playground link

Input:

<?php

($var)?->func();

Output:

Parse Error : syntax error, unexpected '?->' (T_NULLSAFE_OBJECT_OPERATOR), expecting ';' on line 3

  1 | <?php
  2 |
> 3 | ($var)?->func();
    |      ^

Prettier throws a syntax error when optional chaining from an expression wrapped in parentheses. Practical example that I was working on when I encountered this issue:

private function isSyncJob(object $job): bool
{
    return ($job->job ?? null)?->getConnectionName() === "sync";
}

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla riproduzione collegata in Playground e confronta il parsing di ($var)?->func() con la forma senza parentesi e con l’esempio pratico ($job->job ?? null)?->getConnectionName(). Traccia l’entry point del parser o del formatter responsabile di questa sintassi e aggiungi coverage per i casi tra parentesi; il lavoro è completato quando vengono formattati senza un errore di sintassi e preservano il nullsafe call.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
php
Ambito
tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.