web-dev-qa-db-fra.com

php-cs-fixer a cessé de fonctionner après la mise à jour de PHP 7.3

J'utilise Homebrew pour gérer les deux et ils sont à jour.

~ $ brew --version
Homebrew 1.8.4
Homebrew/homebrew-core (git revision a166; last commit 2018-12-08)

~ $ php --version
PHP 7.3.0 (cli) (built: Dec  7 2018 11:00:11) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.0, Copyright (c) 1999-2018, by Zend Technologies

~ $ php-cs-fixer --version
PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.2.*.

~ $ brew upgrade php-cs-fixer
Error: php-cs-fixer 2.13.1 already installed

Cela se produit lorsque j'essaie d'utiliser php-cs-fixer

~ $ php-cs-fixer fix file.php
PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.2.*.

Donc, j'ai téléchargé [email protected] et php-cs-fixer.phar à tester et cela fonctionne ainsi.

~ $ /usr/local/Cellar/[email protected]/7.2.13/bin/php /Users/aaronk/php-cs-fixer.phar fix file.php
Loaded config default from "/Users/aaronk/.php_cs".
Using cache file ".php_cs.cache".
Paths from configuration file have been overridden by paths provided as command arguments.
   1) file.php

Fixed all files in 0.014 seconds, 10.000 MB memory used
~ $

Ma question est donc la suivante: comment faire fonctionner le fixateur php-cs de homebrew?

(p.s. existe-t-il une balise pour php7.3)

3
WelcomeNewUsers

Comme dit godbout, PHP-CS-Fixer ne supporte pas PHP 7.3. Vous pouvez suivre le problème GitHub [Meta] PHP 7.3 support # 3697 , pour suivre l’évolution de la situation. Selon ce problème, les modifications suivantes dans PHP 7.3 doivent encore être prises en compte:

2
Ortomala Lokni

Les problèmes mentionnés } ne sont pas liés au code PH PC Fixer, mais à ses fonctionnalités. Il est clair que misscode composer.json est utilisé, où sont des dépendances et non des fonctionnalités.

PHP CS Fixer fonctionne bien sur PHP 7.3, voir ce PR .

Cette commande vous permet de l'installer sur PHP 7.3:

composer update --ignore-platform-reqs

Faites-moi savoir si vous rencontrez des problèmes.

0
Tomáš Votruba

Pour clarifier - PHP CS Fixer exécuté sous PHP 7.3 peut corriger le code écrit en utilisant la syntaxe jusqu'à PHP 7.2. Mais si vous exécutez un outil sur un code écrit en 7.3, par exemple is_null($foo, ) (virgule de fin), le comportement du fixateur n’est pas stable (produisant null === $foo, - avec toujours une virgule de fin), ce qui pose problème.

0
keradus

La version actuelle "friendsofphp/php-cs-fixer": "^2.14" supporte maintenant php 7.3. Vous pouvez le mettre à niveau et cela devrait fonctionner correctement.

0
Ermand Duro

Rien à voir avec Homebrew. C'est php-cs-fixer lui-même qui ne supporte pas PHP 7.3. Vous obtiendrez le même problème avec composer, avec des dépendances non résolues.

0
godbout