Z Laravel Pintu na DressCode
Laravel Pint formátuje kód presetem laravel a DressCode nese týž styl jako standard
laravel. Přechod znamená jeden řádek konfigurace, který v projektu s Pintem napíše
dresscode init sám. Týž běh, který kód formátuje, ho přitom umí převést i na novější PHP a
Laravel.
DressCode jako alternativa k Laravel Pintu
Pint stojí na PHP CS Fixeru a jeho výchozí preset laravel je seznam fixerů. Standard laravel nese
tentýž seznam, a tak kód, který Pint formátoval, nechá skoro beze změny. Ověřené je to nad čtrnácti balíčky
Laravelu, 1 615 soubory zformátovanými Pintem 1.32: dresscode check --use laravel v nich našel 129 míst a
každé z nich je některá z odchylek popsaných níže (říjen 2026).
Co dostanete navíc:
- Upgrade v témže běhu. Sada
modernizationspřepíše kód na konstrukce novější verze PHP,deprecationsopraví, co PHP zavrhlo, a balíčekdresscode/upgrade-laravelpřepíše API, které Laravel mezi verzemi změnil. Viz Přechod na novější PHP a Laravel. - Jména tříd v phpDocu importuje v každém tagu, i v
@templatea@method, kde je Pint nechává celá. - Výstup pro AI agenty a editory. Formát
agentřekne agentovi, co se v souboru po jeho editaci změnilo, aby mu další editace neselhala. Viz AI agenti.
Pint má jednu výhodu, které se DressCode nevyrovná: přichází s Laravelem. Každá nová aplikace v Laravelu ho má v
require-dev, takže tam je dřív, než kdokoli cokoli rozhodne, kdežto DressCode si nainstalujete sami.
Převod konfigurace
V projektu, který vyžaduje laravel/pint nebo má pint.json, napíše dresscode init standard odpovídající presetu Pintu
sám; u výchozího laravel vypíše:
Standard laravel (the style of Laravel Pint), Laravel Pint formats the project in this style
Konfigurace napsaná ručně je jeden řádek:
use: laravel
Má-li váš pint.json v klíči rules pravidla navíc k presetu, převede je
dresscode migrate config spolu s presetem, protože jsou to pravidla PHP CS Fixeru; co protějšek nemá, vypíše,
viz Přechod na DressCode. Dohledat je můžete i sami:
dresscode catalogue vypíše u každého rozhodnutí fixery PHP CS Fixeru, které pokrývá, takže
no_unused_imports najdete jako imports.unused. Klíč exclude zapíše
migrate config do excludePaths, viz Konfigurace.
| Pint | DressCode |
|---|---|
pint |
dresscode fix |
pint --test |
dresscode check |
pint app/Models |
dresscode fix app/Models |
pint --preset laravel |
dresscode fix --use laravel |
Kde se DressCode od Pintu liší
Nad kódem, který formátoval Pint, narazíte na tyto odchylky:
- Jméno třídy v dokumentačním komentáři DressCode zkrátí a importuje v každém tagu, Pint jen v tazích, které
vyjmenovává jeho fixer
fully_qualified_strict_types, tedy ne v@templateani v@method. - Dva prázdné řádky za sebou uvnitř dokumentačního komentáře sloučí v jeden. Pint ořezává jen jeho začátek a konec.
- Import, jehož jméno stojí jen v textu komentáře, DressCode odstraní jako nepoužitý. Pint ho nechá.
- V porovnání literálu s konstantou,
'\\' === DIRECTORY_SEPARATOR, dá konstantu doleva. Pint obě strany nechá, jak jsou. - O koncích řádků rozhoduje většina v souboru (
file.lineEnding: majority), takže projekt na Windows s CRLF zůstane u CRLF. Pint píše LF.
A co Pint dělá a DressCode zatím ne: testovací metody nepřejmenuje na snake_case (php_unit_method_casing),
neseřadí traity (ordered_traits) a tagy phpDocu nezarovná ani neseřadí (phpdoc_align,
phpdoc_order, phpdoc_separation). Celý preset i s komentáři ukazuje stránka Standardy a sady.