PHP 8.6 vychází 19. listopadu. DressCode pro něj kód přepisuje už teď. 15 dní Přechod na novější PHP →

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 modernizations přepíše kód na konstrukce novější verze PHP, deprecations opraví, co PHP zavrhlo, a balíček dresscode/upgrade-laravel př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 @template a @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 @template ani 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.

Zobrazit na GitHubu · Nahlásit problém se stránkou na GitHubu · 2. 11. 2026