Cette traduction peut être obsolète.

Référence de configuration

Le formateur est opinionné et fournit des valeurs par défaut sensées conformes à PER-CS, mais une poignée d'options vous permet de l'ajuster à un autre style maison. Tout se trouve sous la table [formatter].

[formatter]
print-width = 100
use-tabs = true

Préréglages

Un préréglage est un ensemble complet d'options de formateur ajustées pour une norme de codage spécifique.

[formatter]
preset = "laravel"
PréréglageDescription
defaultConforme à PER-CS. Identique aux valeurs par défaut intégrées.
psr-12Norme de codage PSR-12.
laravelPréréglage laravel de Laravel Pint.
drupalNorme de codage Drupal.

Les préréglages acceptent un suffixe de version :

preset = "psr-12@latest"
preset = "psr-12"          # same as @latest

Aujourd'hui, seul latest est pris en charge. Les futures versions de Mago permettront de figer des versions spécifiques de la norme.

Vous pouvez également combiner un préréglage avec des options individuelles. Le préréglage fournit la base ; les options explicites le remplacent.

[formatter]
preset = "laravel"
print-width = 140

Options globales de l'outil

OptionTypeDéfautDescription
presetchaîneaucunL'un de default, psr-12, laravel, drupal.
excludesliste de chaînes[]Chemins ou globs que le formateur ignore. S'ajoute à source.excludes.

excludes ici s'ajoute à la liste globale. Les fichiers correspondant globalement sont toujours exclus ; cette option vous permet d'exclure des fichiers supplémentaires uniquement du formateur.

[source]
excludes = ["cache/**"]                          # excluded from every tool

[formatter]
excludes = ["src/**/AutoGenerated/**/*.php"]     # additionally excluded from formatting

Disposition et largeur

OptionTypeDéfautDescription
print-widthentier120Longueur maximale de ligne à laquelle l'imprimante coupe.
tab-widthentier4Espaces par niveau d'indentation.
use-tabsbooléenfalseUtiliser des tabulations au lieu d'espaces.
end-of-lineenum"lf"Terminateur de ligne. Valeurs : auto, lf, crlf, cr.
single-quotebooléentruePréférer les guillemets simples pour les chaînes.
indent-heredocbooléentrueIndenter le corps heredoc/nowdoc pour correspondre à la portée environnante (PER-CS 3.0 §10). Lorsque false, le corps et l'étiquette de fermeture sont à la colonne 0.
trailing-commabooléentrueAjouter une virgule finale aux tableaux multi-lignes, listes de paramètres, etc.
remove-trailing-close-tagbooléentrueSupprimer le ?> final des fichiers.

Placement des accolades

OptionTypeDéfautDescription
control-brace-styleenum"same-line"Accolades pour les structures de contrôle.
following-clause-on-newlinebooléenfalseMettre else, elseif, catch, finally sur une nouvelle ligne.
closure-brace-styleenum"same-line"Accolades pour les closures et classes anonymes.
function-brace-styleenum"next-line"Accolades pour les fonctions.
method-brace-styleenum"next-line"Accolades pour les méthodes.
classlike-brace-styleenum"always-next-line"Accolades pour les classes, traits, interfaces, enums.

Les enums de style d'accolades acceptent tous les trois mêmes valeurs :

  • same-line : l'accolade ouvrante reste sur la ligne de déclaration.
  • next-line : l'accolade ouvrante va à la ligne suivante pour les signatures sur une seule ligne, mais reste sur la ligne de déclaration lorsque la signature est coupée sur plusieurs lignes.
  • always-next-line : l'accolade ouvrante va toujours à la ligne suivante, même lorsque la signature est coupée.

Pour method-brace-style = "next-line" :

public function foo(): string
{
}

public function bar(
    string $veryLongParam,
): string {
}

Pour method-brace-style = "always-next-line" :

public function bar(
    string $veryLongParam,
): string
{
}

Corps vides

OptionTypeDéfautDescription
inline-empty-control-bracesbooléenfalseInline les corps de structure de contrôle vides.
inline-empty-closure-bracesbooléentrueInline les corps de closure vides.
inline-empty-function-bracesbooléentrueInline les corps de fonction vides.
inline-empty-method-bracesbooléentrueInline les corps de méthode vides.
inline-empty-constructor-bracesbooléentrueInline les corps de constructeur vides.
inline-empty-classlike-bracesbooléentrueInline les corps de type classe vides.
inline-empty-anonymous-class-bracesbooléentrueInline les corps de classe anonyme vides.

Chaînes de méthodes

OptionTypeDéfautDescription
method-chain-breaking-styleenum"next-line"Une fois qu'une chaîne se brise, où l'appel se positionne. Valeurs : same-line, next-line.
first-method-chain-on-new-linebooléentrueLorsqu'une chaîne d'objet (->, ?->) se brise, mettre le premier appel sur une nouvelle ligne. L'accès statique (::) reste attaché à sa cible (PER-CS 4.7).
method-chain-semicolon-on-next-linebooléenfalseLorsqu'une chaîne multi-lignes est une instruction, mettre le point-virgule de terminaison sur sa propre ligne.
preserve-breaking-member-access-chainbooléenfalsePréserver les sauts de ligne existants dans les chaînes d'accès aux membres.
preserve-breaking-member-access-chain-first-method-on-same-linebooléenfalseLors de la préservation d'une chaîne brisée, garder la première méthode sur la ligne du récepteur.

Préservation des sauts de l'auteur

OptionTypeDéfautDescription
preserve-breaking-argument-listbooléenfalsePréserver les sauts de ligne existants dans les listes d'arguments.
preserve-breaking-array-likebooléentruePréserver les sauts de ligne existants dans les types tableau.
preserve-breaking-parameter-listbooléenfalsePréserver les sauts de ligne existants dans les listes de paramètres.
preserve-breaking-attribute-listbooléenfalsePréserver les sauts de ligne existants dans les listes d'attributs.
preserve-breaking-conditional-expressionbooléenfalsePréserver les sauts de ligne existants dans les ternaires.
preserve-breaking-condition-expressionbooléenfalsePréserver les sauts de ligne existants dans les conditions de structure de contrôle. Lorsque activé, chaque opérateur booléen va sur sa propre ligne.
break-promoted-properties-listbooléentrueToujours casser les listes de paramètres avec des propriétés promues.
parameter-attribute-on-new-linebooléentrueMettre les attributs de paramètre sur leur propre ligne lorsque la liste de paramètres se casse (PER-CS 12.2).
line-before-binary-operatorbooléentrueLorsqu'une expression binaire se casse, placer l'opérateur sur la ligne suivante.
indent-binary-expression-continuationbooléenfalseIndenter les lignes de continuation des expressions binaires dans les affectations. Disponible depuis 1.19.
omit-redundant-arithmetic-binary-expression-parenthesesbooléenfalseSupprimer les parenthèses redondantes autour de l'arithmétique lorsque la comparaison ou la coalescence nulle préserve déjà le sens.
omit-redundant-bitwise-binary-expression-parenthesesbooléenfalseSupprimer les parenthèses redondantes autour des sous-expressions bit-à-bit lorsque la précédence préserve déjà le sens.
preserve-redundant-logical-binary-expression-parenthesesbooléenfalseConserver les parenthèses écrites par l'auteur autour d'une sous-expression logique lorsque son parent est aussi logique.

Alignement des arguments et paramètres

OptionTypeDéfautDescription
always-break-named-arguments-listbooléenfalseToujours casser les listes d'arguments nommés.
always-break-attribute-named-argument-listsbooléenfalseToujours casser les arguments nommés dans les attributs.
align-parametersbooléenfalseAligner en colonnes les listes de paramètres multi-lignes par variable.
align-named-argumentsbooléenfalseAligner en colonnes les arguments nommés dans les appels et attributs multi-lignes.
array-table-style-alignmentbooléentrueUtiliser l'alignement de style tableau pour les arrays.
align-assignment-likebooléenfalseAligner en colonnes les constructions de type affectation consécutives (variables, paires clé/valeur de tableau multi-lignes, propriétés, constantes, cas d'enum, bras de match). Les arrays inline compacts restent non alignés.

Instructions use

OptionTypeDéfautDescription
sort-usesbooléentrueTrier les instructions use alphabétiquement.
sort-class-methodsbooléenfalseOrdonner les méthodes de classe par visibilité et type : constructeur en premier, puis méthodes statiques, puis méthodes d'instance par visibilité, destructeur en dernier.
separate-use-typesbooléentrueInsérer une ligne vide entre différents types de use.
expand-use-groupsbooléentrueÉtendre les instructions use groupées en instructions individuelles.

Indications de type et constructions

OptionTypeDéfautDescription
null-type-hintenum"question"Comment formater les types nullables. null_pipe réécrit ?T en null|T, en préservant l'ordre de l'union. null_pipe_last réécrit ?T en T|null et réordonne les unions pour mettre null en dernier. question réécrit null|T et T|null en ?T.
parentheses-around-new-in-member-accessbooléenfalseEncadrer new dans l'accès aux membres : (new Foo)->bar().
parentheses-in-new-expressionbooléentrueAjouter () à new sans arguments : new Foo().
parentheses-in-exit-and-diebooléentrueAjouter () à exit et die.
parentheses-in-attributebooléenfalseAjouter () aux attributs sans arguments.

Espaces autour des opérateurs

OptionTypeDéfautDescription
space-before-arrow-function-parameter-list-parenthesisbooléenfalseEspace avant la liste de paramètres de fonction fléchée.
space-before-closure-parameter-list-parenthesisbooléentrueEspace avant la liste de paramètres de closure.
space-before-hook-parameter-list-parenthesisbooléenfalseEspace avant la liste de paramètres de hook de propriété.
inline-abstract-property-hooksbooléentrueGarder les hooks de propriété abstraits (get;, set;) sur une seule ligne (PER-CS 4.10).
space-before-closure-use-clause-parenthesisbooléentrueEspace avant le use (...) de closure.
space-after-cast-unary-prefix-operatorsbooléentrueEspace après les opérateurs de cast comme (int).
space-after-reference-unary-prefix-operatorbooléenfalseEspace après &.
space-after-error-control-unary-prefix-operatorbooléenfalseEspace après @.
space-after-logical-not-unary-prefix-operatorbooléenfalseEspace après !.
space-after-bitwise-not-unary-prefix-operatorbooléenfalseEspace après ~.
space-after-increment-unary-prefix-operatorbooléenfalseEspace après ++ préfixe.
space-after-decrement-unary-prefix-operatorbooléenfalseEspace après -- préfixe.
space-after-additive-unary-prefix-operatorbooléenfalseEspace après les + et - unaires.
space-around-concatenation-binary-operatorbooléentrueEspaces autour de ..
space-around-assignment-in-declarebooléenfalseEspaces autour de = dans declare.
space-within-grouping-parenthesisbooléenfalseEspaces à l'intérieur des parenthèses de regroupement : ( 1 + 2 ).

Lignes vides

OptionTypeDéfautDescription
empty-line-after-control-structurebooléenfalseLigne vide après une structure de contrôle.
opening-tag-on-own-linebooléentrueMettre <?php sur sa propre ligne dans les fichiers PHP purs (PER-CS 3.0). Les templates avec HTML inline ne sont pas affectés.
empty-line-after-opening-tagbooléentrueLigne vide après <?php.
empty-line-after-declarebooléentrueLigne vide après declare.
empty-line-after-namespacebooléentrueLigne vide après namespace.
empty-line-after-usebooléentrueLigne vide après les blocs use.
empty-line-after-symbolsbooléentrueLigne vide après les symboles de premier niveau.
empty-line-between-same-symbolsbooléentrueLigne vide entre symboles consécutifs du même type. S'applique uniquement lorsque empty-line-after-symbols est true.
empty-line-after-class-like-openbooléenfalseLigne vide après l'accolade ouvrante d'un type classe.
empty-line-after-class-like-constantbooléenfalseLigne vide après une constante de classe.
empty-line-before-class-like-closebooléenfalseLigne vide avant l'accolade fermante d'un type classe non vide.
empty-line-after-enum-casebooléenfalseLigne vide après un cas d'enum.
empty-line-after-trait-usebooléenfalseLigne vide après un use de trait.
empty-line-after-propertybooléenfalseLigne vide après une propriété.
empty-line-after-methodbooléentrueLigne vide après une méthode.
empty-line-before-returnbooléenfalseLigne vide avant un return.
empty-line-before-dangling-commentsbooléentrueLigne vide avant les commentaires pendants.
separate-class-like-membersbooléentrueLigne vide entre différents types de membres de classe.

Casse

OptionTypeDéfautDescription
uppercase-literal-keywordbooléenfalseLorsque true, formater true, false, null en MAJUSCULES.

↳ Modifier cette page →