php-cs-fixer перестал работать после обновления php 7.3 - PullRequest
0 голосов
/ 08 декабря 2018

Я использую Homebrew для управления ими обоими, и они обновлены.

~ $ 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

Это происходит, когда я пытаюсь использовать 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.*.

Итак, я скачал php@7.2 и php-cs-fixer.phar для тестирования, и он работает таким образом.

~ $ /usr/local/Cellar/php@7.2/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
~ $

Итак, мой вопрос, как мне заставить php-cs-fixer homebrew работать?Homebrew делает что-то не так?

(ps есть тег для php7.3)

Ответы [ 5 ]

0 голосов
/ 19 января 2019

Текущая версия "friendsofphp/php-cs-fixer": "^2.14" теперь поддерживает php 7.3.Вы можете обновить его, и оно должно работать нормально.

0 голосов
/ 01 января 2019

Для пояснения - PHP CS Fixer, работающий под PHP 7.3, может исправить код, написанный с использованием синтаксиса до PHP 7.2.Но если запустить инструмент для кода, написанного в 7.3, например, is_null($foo, ) (конечная запятая), то поведение фиксатора нестабильно (выдает null === $foo, - по-прежнему, с запятой), что является проблемой.

0 голосов
/ 09 декабря 2018

Как сказал godbout, PHP-CS-Fixer не поддерживает PHP 7.3.Вы можете отслеживать проблему GitHub [Meta] PHP 7.3 support # 3697 , чтобы следить за развитием ситуации.В соответствии с этой проблемой необходимо учитывать следующие изменения в PHP 7.3:

0 голосов
/ 11 декабря 2018

упомянутые проблемы не связаны с кодом PH PC Fixer, а скорее с его функциями.Ясно, что неправильно используется composer.json, где есть зависимости, а не функции.

PHP CS Fixer отлично работает на PHP 7.3, см. этот PR .

ЭтоКоманда позволяет установить его на PHP 7.3 :

composer update --ignore-platform-reqs

Дайте мне знать, если у вас возникли какие-либо проблемы.

0 голосов
/ 09 декабря 2018

Ничего общего с Homebrew.Сам по себе php-cs-fixer не поддерживает PHP7.3.Вы можете получить ту же проблему через composer с неудовлетворенными зависимостями.

...