-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Support to PHP 8.3 + Documentation * CS Fix + Documentation Fix * Update csfix script name to cs-fix
- Loading branch information
AP - Axio Studio
authored
Jan 24, 2024
1 parent
3d339e5
commit 5ad15f4
Showing
4 changed files
with
112 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
vendor | ||
composer.lock | ||
.phpunit.result.cache | ||
.php-cs-fixer.cache | ||
example.php |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
#!/usr/bin/env php | ||
<?php | ||
|
||
/* | ||
* This file is part of PHP CS Fixer. | ||
* | ||
* (c) Fabien Potencier <[email protected]> | ||
* Dariusz Rumiński <[email protected]> | ||
* | ||
* This source file is subject to the MIT license that is bundled | ||
* with this source code in the file LICENSE. | ||
*/ | ||
|
||
error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED); | ||
|
||
set_error_handler(static function ($severity, $message, $file, $line) { | ||
if ($severity & error_reporting()) { | ||
throw new ErrorException($message, 0, $severity, $file, $line); | ||
} | ||
}); | ||
|
||
// check environment requirements | ||
(function () { | ||
if (\PHP_VERSION_ID === 80000) { | ||
fwrite(STDERR, "PHP CS Fixer is not able run on PHP 8.0.0 due to bug in PHP tokenizer (https://bugs.php.net/bug.php?id=80462).\n"); | ||
fwrite(STDERR, "Update PHP version to unblock execution.\n"); | ||
|
||
exit(1); | ||
} | ||
|
||
if (\PHP_VERSION_ID < 70400 || \PHP_VERSION_ID >= 80400) { | ||
fwrite(STDERR, "PHP needs to be a minimum version of PHP 7.4.0 and maximum version of PHP 8.3.*.\n"); | ||
fwrite(STDERR, 'Current PHP version: ' . PHP_VERSION . ".\n"); | ||
|
||
if (getenv('PHP_CS_FIXER_IGNORE_ENV')) { | ||
fwrite(STDERR, "Ignoring environment requirements because `PHP_CS_FIXER_IGNORE_ENV` is set. Execution may be unstable.\n"); | ||
} else { | ||
fwrite(STDERR, "To ignore this requirement please set `PHP_CS_FIXER_IGNORE_ENV`.\n"); | ||
fwrite(STDERR, "If you use PHP version higher than supported, you may experience code modified in a wrong way.\n"); | ||
fwrite(STDERR, "Please report such cases at https://github.com/PHP-CS-Fixer/PHP-CS-Fixer .\n"); | ||
|
||
exit(1); | ||
} | ||
} | ||
|
||
foreach (['json', 'tokenizer'] as $extension) { | ||
if (!extension_loaded($extension)) { | ||
fwrite(STDERR, sprintf("PHP extension ext-%s is missing from your system. Install or enable it.\n", $extension)); | ||
|
||
if (getenv('PHP_CS_FIXER_IGNORE_ENV')) { | ||
fwrite(STDERR, "Ignoring environment requirements because `PHP_CS_FIXER_IGNORE_ENV` is set. Execution may be unstable.\n"); | ||
} else { | ||
exit(1); | ||
} | ||
} | ||
} | ||
})(); | ||
|
||
// load dependencies | ||
(function () { | ||
$require = true; | ||
if (class_exists('Phar')) { | ||
// Maybe this file is used as phar-stub? Let's try! | ||
try { | ||
Phar::mapPhar('php-cs-fixer.phar'); | ||
|
||
require_once 'phar://php-cs-fixer.phar/vendor/autoload.php'; | ||
$require = false; | ||
} catch (PharException $e) { | ||
} | ||
} | ||
|
||
if ($require) { | ||
// OK, it's not, let give Composer autoloader a try! | ||
$possibleFiles = [__DIR__ . '/../../autoload.php', __DIR__ . '/../autoload.php', __DIR__ . '/vendor/autoload.php']; | ||
$file = null; | ||
foreach ($possibleFiles as $possibleFile) { | ||
if (file_exists($possibleFile)) { | ||
$file = $possibleFile; | ||
|
||
break; | ||
} | ||
} | ||
|
||
if (null === $file) { | ||
throw new RuntimeException('Unable to locate autoload.php file.'); | ||
} | ||
|
||
require_once $file; | ||
} | ||
})(); | ||
|
||
use Composer\XdebugHandler\XdebugHandler; | ||
use PhpCsFixer\Console\Application; | ||
|
||
// Restart if xdebug is loaded, unless the environment variable PHP_CS_FIXER_ALLOW_XDEBUG is set. | ||
$xdebug = new XdebugHandler('PHP_CS_FIXER'); | ||
$xdebug->check(); | ||
unset($xdebug); | ||
|
||
$application = new Application(); | ||
$application->run(); | ||
|
||
__HALT_COMPILER(); |