Changes the string or class const used for a service container make call
-app('encrypter')->encrypt('...');
-\Illuminate\Support\Facades\Application::make('encrypter')->encrypt('...');
+app(Illuminate\Contracts\Encryption\Encrypter::class)->encrypt('...');
+\Illuminate\Support\Facades\Application::make(Illuminate\Contracts\Encryption\Encrypter::class)->encrypt('...');
Configure your rector.php
:
<?php
use PhpParser\Node\Expr\ClassConstFetch;
use PhpParser\Node\Name;
use RectorLaravel\Rector\MethodCall\ReplaceServiceContainerCallArgRector;
use RectorLaravel\ValueObject\ReplaceServiceContainerCallArg;
use Rector\Config\RectorConfig;
return RectorConfig::configure()
->withConfiguredRule(ReplaceServiceContainerCallArgRector::class, [
new ReplaceServiceContainerCallArg('encrypter', new ClassConstFetch(new Name('Illuminate\Contracts\Encryption\Encrypter'), 'class')),
]);