for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace App;
use Composer\Script\Event;
use FilesystemIterator as FSIterator;
use RecursiveDirectoryIterator as DirIterator;
use RecursiveIteratorIterator as RIterator;
final class Installer
{
/**
* @psalm-suppress UndefinedClass
*/
public static function postUpdate(Event $event = null): void
$event
If this is a false-positive, you can also ignore this issue in your code via the ignore-unused annotation
ignore-unused
public static function postUpdate(/** @scrutinizer ignore-unused */ Event $event = null): void
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
self::chmodRecursive('runtime', 0777);
self::chmodRecursive('public/assets', 0777);
}
private static function chmodRecursive(string $path, int $mode): void
chmod($path, $mode);
$iterator = new RIterator(
new DirIterator($path, FSIterator::SKIP_DOTS | FSIterator::CURRENT_AS_PATHNAME),
RIterator::SELF_FIRST
);
foreach ($iterator as $item) {
chmod($item, $mode);
public static function copyEnvFile(): void
if (!file_exists('.env')) {
copy('.env.example', '.env');
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.