Unfinalize by Steve Bauman właśnie wydał v1, a te informacje o wydaniu są warte minuty twojego czasu.
Unfinalize to pakiet, który używa PHP CS Fixer do trwałego usuwania final
słów kluczowych z pakietów dostawców kompozytora.
Uwaga: musisz rozwidlić ten pakiet, jeśli chcesz go użyć, ponieważ zespół PHP CS Fixer oznaczył oryginalny pakiet jako konflikt. Możesz to obejść, rozwidlając ten pakiet pod nową nazwą.
- final class Foo
+ class Foo
{
- final public function bar()
+ public function bar()
{
// ...
}
}
Po uruchomieniu wykonuje następujące czynności:
- Aktualizacje plików PHP są wykonywane bezpiecznie, szybko i wydajnie.
- Zmiany są przechowywane na stałe. Nie ma wpływu na wydajność przy użyciu opcji Unfinalize.
- Brak dodatkowych zależności od aplikacji. Unfinalize i jego zależności są kompilowane w jeden plik phar.
Niesfinalizuj użycie
Zainstaluj go najpierw:Następnie wewnątrz composer.json
pliku dodaj pakiety dostawców, z których chcesz usunąć ostatnie słowa kluczowe inside:Następnie dodaj polecenie unfinalize do swojegocomposer.json
, aby działało na composer update
:
composer require stevebauman/unfinalize
{
"unfinalize": [
"vendor/package"
]
}
{
"scripts": {
"post-update-cmd": [
"@php vendor/bin/unfinalize run"
]
}
}
Na koniec uruchom .
composer update
Opcje
--mark-final
unfinalize Jeśli chcesz, aby końcowe klasy i metody były oznaczone blokiem @final
doc, możesz dodać --mark-final
opcję do unfinalize command:Which will created:
{
"scripts": {
"post-update-cmd": [
"@php vendor/bin/unfinalize run --mark-final"
]
}
}
final class Foo
{
final public function bar()
{
// ...
}
}
/**
* @final
*/
class Foo
{
/**
* @final
*/
public function bar()
{
// ...
}
}
--dry
Execute a dry run to see what files will be modified by PHP CS Fixer.