classes that specify visibility on class constants can't be parsed
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- php
- Ambito
- documentation, tooling
Direzione di ricerca
Esamina le dipendenze Composer che coinvolgono nikic/php-parser e phpdocumentor/reflection, quindi riproduci il malfunzionamento con l’esempio della costante di classe nell’issue. Verifica che l’aggiornamento della dipendenza analizzi le costanti di classe pubbliche e protette e che il comportamento esistente del parser rimanga invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
For example,
class My_Class {
public const C1 = 'value';
protected const C2 = 'another value';
...
}
Trying the parse the above results in an error like:
Parse Error: Syntax error, unexpected T_CONST, expecting T_FUNCTION on line xyz
and the entire class is not imported.
Visibility for class constants wasn't added to PHP until 7.1. Of course, as of today (2020-08-14) nothing in core specifies visibility on class constants since the minimum PHP is still 5.6. And current WPCS states:
Visibility for class constants can not be used in WordPress Core until the minimum PHP version has been raised to PHP 7.1 (and won’t be enforced until that time).
It is hopeful (likely?) that WP 5.6 will bump the minimum PHP to 7.1. So, the need to parse such classes will be coming sooner rather than later.
As best I can tell, the error is generated by nikic/php-parser, which is a transitive dependency of phpdocumentor/reflection. The latest version of nikic/php-parser fully supports PHP 7.1+, so I think the solution is simply to update the composer dependencies of this plugin, but things will need to be tested thoroughly after those dependencies are updated.
- Lingua principale
- PHP
- Stelle
- 239
- Fork
- 81
- Merge medio
- 16h 29m
- PR unite (30g)
- 8
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di WordPress/phpdoc-parser
-
Include constants in exports Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
WordPress/phpdoc-parser#269 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
WordPress/phpdoc-parser#268 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
WordPress/phpdoc-parser#254 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
WordPress/phpdoc-parser#246 · 9 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
WordPress/phpdoc-parser#235 · 1 commento ·
Tutte le issue di WordPress/phpdoc-parser
Issue simili
-
tooling
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
UX
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
OpenConext/OpenConext-engineblock#2122 ·
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Automattic/safe-publish#594 ·