• Czas czytania ~1 min
  • 10.10.2023

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 updateOpcje

--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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297