CI and fixtures: make PHP 8.6 a supported target
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
Direzione di ricerca
This is a tracking issue with several separate tasks. Start with the CI matrix in phpunit.yml (the experimental flag on 8.6) and phpstan.yml (add 8.6), then look at the weaving fixtures under tests/Instrument/Transformer/_files/. Done means the matrix changes land and each listed 8.6 syntax case has a skipped-below-8.6 functional test. Dropping experimental must wait for 8.6.0 GA, and the fixture tasks need maintainer guidance.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Current state
phpunit.ymlruns PHP 8.6 (lowest and highest dependencies) withexperimental: true, so a failure doesn't fail the build.phpstan.ymlonly runs on 8.4 and 8.5. Locally,composer analyzepasses on 8.6 for the current code.- No fixture or functional test contains 8.6 syntax. The whole suite passes on 8.6.0RC2 and RC3 (3359 tests).
Tasks
- Drop
experimentalfor 8.6 inphpunit.ymlonce 8.6.0 GA is released andsetup-phpprovides it. - Add 8.6 to the
phpstan.ymlmatrix. - Add weaving fixtures (
tests/Instrument/Transformer/_files/php86-*) and functional tests for 8.6 syntax in woven code. They should be skipped below 8.6, or loaded through a version-gated fixture project. Cover:- PFA in method bodies, including a PFA of an intercepted method (
$this->sum(?, 1)), static PFA (self::make(1, ?)), and PFA after|>; - PFA in constant expressions: property/parameter defaults (#791) and attribute arguments (these already work);
readonlyproperty defaults in readonly and non-readonly classes, and re-initialisation in an intercepted__clone()(#792);#[\Override]on class constants and enum cases (#794);- parameter doc comments (#793);
__debugInfo()on enums, which is already woven and intercepted correctly.
- PFA in method bodies, including a PFA of an intercepted method (
-
tests/AGENTS.md: describe the 8.6 test setup. Optionally pingoaop/parser-reflection/nikic/php-parserto versions that parse 8.6 (php-parser 5.9 already hasArgPlaceholder).
No action needed for these 8.6 changes, which were checked against the engine:
- stateless closure caching: no code relies on closure identity;
- the limit of 16 filters per
php://filterURL: the loader uses one filter per URL; - the 8.6 deprecations: the suite runs with
failOnDeprecation; __construct()return-value deprecation: generated constructors don't return.
Part of #789.
- Lingua principale
- PHP
- Stelle
- 1.7k
- Fork
- 166
- Merge medio
- 1g 5h
- PR unite (30g)
- 30
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 goaop/framework
-
Enhancement PHP-8.6
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Enhancement PHP-8.6 To Be Discussed
Difficoltà 4/5 Più di una settimana Idoneità per principianti 8/100
I maintainer di solito rispondono entro 1 giorno
-
Static $__joinPoint keeps the first instance of every woven class aliveForse già presa @lisachenko l’ha presa 1 giorno fa. ApertaBug PHP-8.4 PHP-8.5 PHP-8.6
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
I maintainer di solito rispondono entro 1 giorno
-
#[\SensitiveParameter] values leak through joinpoint frames in stack tracesForse già presa @lisachenko l’ha presa 1 giorno fa. ApertaBug PHP-8.4 PHP-8.5 PHP-8.6
Difficoltà 4/5 3-5 giorni Idoneità per principianti 18/100
I maintainer di solito rispondono entro 1 giorno
-
Enum proxies drop attributes and doc comments of enum cases (incl. 8.6 #[\Override] on cases)Forse già presa @lisachenko l’ha presa 1 giorno fa. ApertaBug PHP-8.4 PHP-8.5 PHP-8.6
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di goaop/framework
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Author mapping step: "create new user" and "assign to existing user" fields have no spacing between themForse già presa @umeshnevase l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
WordPress/wordpress-importer#275 ·
-
security/openvpn-legacy: read-only user can stop a running VPNForse già presa @besendorf l’ha presa oggi. Apertaincomplete
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
opnsense/plugins#5887 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
jira-created
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100