recherche
Maisondéveloppement back-endtutoriel phpVous ne savez pas comment utiliser cet outil d'encodage et de formatage php-cs-fixer ?

php-cs-fixer - Outil de formatage de codage PHP

php-cs-fixer est un outil de formatage de code les normes de formatage sont PSR-1, PSR-2 et certaines normes symfony. Cet outil vient également de la même famille que symfony, twig et d’autres excellentes bibliothèques PHP.

Installation et mise à jour

Nécessite PHP 5.3.6 ou supérieur.

Vous pouvez télécharger le package phar directement : php-cs-fixer.phar ;

ou le télécharger via wget (voici l'utilisation sur OSX et Linux) :

wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer

ou le télécharger via curl :

curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer

Une fois le téléchargement terminé, accordez les autorisations à l'exécutable, puis déplacez-le vers le répertoire bin :

sudo chmod a+x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

De cette façon, vous pouvez directement utiliser la commande php-cs-fixer pour l'appeler n'importe où. php-cs-fixer 命令来调用了。

也可以用过 Composer 来安装:

composer global require fabpot/php-cs-fixer

如果你是 Mac 用户、homebrew 用户并且已经 tap 过 homebrew/php 的话,也可以直接:

brew install php-cs-fixer

或者:

brew install homebrew/php/php-cs-fixer

如果后续需要更新的话:

php-cs-fixer self-update

如果是通过 homebrew 安装的:

brew upgrade php-cs-fixer

如果没有将执行文件放到 bin 目录下或者在 Windows需要使用 php php-cs-fixer.phar 代替 php-cs-fixer

用法

用法也很简单,最基本的命令参数就是 fix,直接执行时会尽可能多的根据默认标准格式化代码:

# 格式化目录 如果是当前目录的话可以省略目录
php-cs-fixer fix /path/to/dir
# 格式化文件
php-cs-fixer.phar fix /path/to/file

--verbose 选项用于展示应用了的规则,默认是文本(txt)格式。

--level 选项用于控制需要使用的规则层级:

php-cs-fixer fix /path/to/project --level=psr0
php-cs-fixer fix /path/to/project --level=psr1
php-cs-fixer fix /path/to/project --level=psr2
php-cs-fixer fix /path/to/project --level=symfony

默认情况下执行的是 PSR-2 的所有选项以及一些附加选项(主要是 symfony 相关的)。还有一些属于『贡献级别』的选项,你可以通过 --fixers 选择性的添加,--fixers 的多个条件要用逗号分开:

php-cs-fixer fix /path/to/dir --fixers=linefeed,short_tag,indentation

如果有需要的话也可以使用 -name_of_fixer 采取黑名单的方式设定禁用哪些选项。如果同时设定了 --fixers-name_of_fixer,前者的优先级更高。

同时使用 --dry-run--diff 命令可以显示出需要修改的汇总,但是并不实际修改。

通过以下方式也可以查看有哪些内容是会修改的,但是并不实际改动文件:

cat foo.php | php-cs-fixer fix --diff -

自定义配置

--config 选项可以用来设置选取目录以及文件进行分析并格式化,但是这个选项只能设置一些常见的已知的项目,比如 symfony:

# For the Symfony 2.3+ branch
php-cs-fixer fix /path/to/sf23 --config=sf23

已有选项:

  • default 默认配置

  • magento magento 项目

  • sf23 symfony 的项目

更多时候,我们可以通过配置文件来自定义格式化选项以及搜索的目录和文件。自定义配置通过在项目根目录添加一个 .php_cs 文件的方式实现。

设置本身就是 PHP 代码,最后返回一个 SymfonyCSConfigInterface 的实例即可。你可以设置格式化的选项、级别、文件以及目录。

下面是一个简单的例子:

<?php $finder = Symfony\CS\Finder\DefaultFinder::create()
    ->exclude('somedir') // 忽略 somedir
    ->in(__DIR__) // 当前目录
;

return Symfony\CS\Config\Config::create()
    ->fixers(['strict_param', 'short_array_syntax']) // 添加两个选项
    ->finder($finder)
;

如果你想完全自定义格式化选项,就需要将格式化级别清空,并指定好所有需要的选项:

<?php $finder = Symfony\CS\Finder\DefaultFinder::create()
    ->in(__DIR__)
;

return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::NONE_LEVEL)
    ->fixers(['trailing_spaces', 'encoding'])
    ->finder($finder)
;

你也可以通过在选项前面添加 - 的方式来禁用某些选项,比如下面这个例子不采用 PSR-0:

<?php $finder = Symfony\CS\Finder\DefaultFinder::create()
    ->exclude('somedir')
    ->in(__DIR__)
;

return Symfony\CS\Config\Config::create()
    ->fixers(['-psr0'])
    ->finder($finder)
;

默认条件下的格式化级别是 symfony (最严格),你可以修改这个级别:

<?php return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::PSR2_LEVEL)
;

通过这些设置选项的组合,可以很轻易的定制出自己想要的效果。

你也可以通过 --config-file 选项指定 .php_cs 文件的位置。

启用缓存可以在后续的执行中加快速度,通过以下方法设置:

<?php return Symfony\CS\Config\Config::create()
    ->setUsingCache(true)
;

编辑器插件

下面这些编辑器/IDE 的插件可以帮你简化格式化的工作:

  • Atom

  • NetBeans

  • PhpStorm

  • Sublime Text

  • Vim

格式化选项

  • psr0 [PSR-0]
      PSR-0 的路径和命名空间标准

  • encoding [PSR-1]
      文件必须是不带 BOM 的 UTF-8 编码;

  • short_tag [PSR-1]
      只能使用 <?php ?>= ?> 两种 PHP 代码标签;

  • braces [PSR-2]
      所有语句块都必须包含在花括号内,且位置以及缩进是符合标准的;

  • class_definition [PSR-2]
      class、trait、interfaces 关键字和名称之间只能有一个空格;

  • elseif [PSR-2]
      使用 elseif 替代 else if
    Vous pouvez également utiliser Composer pour installer :
    rrreee

    Si vous êtes un utilisateur Mac, un utilisateur homebrew et que vous avez enregistré homebrew/php, vous pouvez également directement :
  • rrreee
  • ou :

    rrreeeSi vous devez mettre à jour plus tard : rrreee
    Si installé via homebrew :
    rrreee
    Si le fichier exécutable n'est pas placé dans le répertoire bin ou dans Windows, vous devez utiliser php php-cs-fixer.phar au lieu de php -cs-fixateur .

    🎜Usage🎜🎜L'utilisation est également très simple. Le paramètre de commande le plus basique est fix Lorsqu'il est exécuté directement, autant de code que possible sera formaté selon la norme par défaut : 🎜rrreee🎜. --verbose est utilisée pour afficher les règles appliquées. La valeur par défaut est le format texte (<code>txt). L'option 🎜🎜--level est utilisée pour contrôler le niveau de règles à utiliser : 🎜rrreee🎜Par défaut, toutes les options de PSR-2 et certaines options supplémentaires (principalement liées à Symfony) sont exécutées. Il existe également certaines options qui appartiennent au "niveau de contribution". Vous pouvez les ajouter de manière sélective via --fixers. Plusieurs conditions de --fixers doivent être séparées par des virgules : 🎜rrreee 🎜Si nécessaire, vous pouvez également utiliser -name_of_fixer pour définir les options à désactiver à l'aide d'une liste noire. Si --fixers et -name_of_fixer sont définis, le premier est prioritaire. 🎜🎜L'utilisation simultanée des commandes --dry-run et --diff permet d'afficher le résumé qui doit être modifié, mais ne le modifie pas réellement. 🎜🎜Vous pouvez également vérifier quel contenu sera modifié via la méthode suivante, mais le fichier ne sera pas réellement modifié : 🎜rrreee🎜Configuration personnalisée🎜🎜L'option --config peut être utilisée pour définir le fichier sélectionné. répertoire et fichiers Analyser et formater, mais cette option ne peut définir que certains projets connus courants, tels que symfony :🎜rrreee🎜Options existantes :🎜
      🎜🎜configuration par défaut par défaut🎜🎜🎜🎜magento magento project🎜🎜🎜🎜 sf23 symfony project🎜🎜
    🎜Le plus souvent, nous pouvons personnaliser les options de formatage et rechercher des répertoires et des fichiers via des fichiers de configuration. La configuration personnalisée est obtenue en ajoutant un fichier .php_cs dans le répertoire racine du projet. 🎜🎜Le paramètre lui-même est du code PHP et renvoie enfin une instance de SymfonyCSConfigInterface. Vous pouvez définir des options de formatage, des niveaux, des fichiers et des répertoires. 🎜🎜Voici un exemple simple : 🎜rrreee🎜Si vous souhaitez personnaliser complètement les options de formatage, vous devez effacer le niveau de formatage et spécifier toutes les options requises : 🎜rrreee🎜Vous pouvez également ajouter - pour désactiver certaines options. Par exemple, l'exemple suivant n'utilise pas PSR-0 : 🎜rrreee🎜Le niveau de formatage par défaut est symfony (le plus strict), vous pouvez modifier ce niveau : 🎜rrreee 🎜Grâce au combinaison de ces options de réglage, vous pouvez facilement personnaliser l’effet souhaité. 🎜🎜Vous pouvez également spécifier l'emplacement du fichier .php_cs via l'option --config-file. 🎜🎜L'activation de la mise en cache peut accélérer les exécutions ultérieures. Définissez-la via les méthodes suivantes : 🎜rrreee🎜Plug-in d'éditeur🎜🎜Les plug-ins d'éditeur/IDE suivants peuvent vous aider à simplifier le travail de formatage : 🎜
      🎜🎜Atom 🎜🎜 🎜🎜NetBeans🎜🎜🎜🎜PhpStorm🎜🎜🎜🎜Texte sublime🎜🎜🎜🎜Vim🎜🎜
    🎜Options de formatage🎜
      🎜🎜🎜psr0 [PSR 0]🎜 🎜 Normes de chemin et d'espace de noms PSR-0 🎜🎜🎜🎜🎜🎜🎜encodage [PSR-1]🎜🎜 Le fichier doit être encodé en UTF-8 sans BOM 🎜🎜🎜🎜🎜🎜🎜short_tag [PSR-1]🎜🎜 ne peut être utilisé que et = ?> sont deux balises de code PHP 🎜🎜🎜🎜🎜🎜🎜accolades [PSR-2]🎜🎜 Tous les blocs d'instructions doivent être entouré d'accolades, et la position et l'indentation sont standard 🎜🎜🎜🎜🎜🎜🎜class_definition [PSR-2]🎜🎜 Il ne peut y avoir qu'entre la classe, le trait, les mots-clés des interfaces et les noms Un espace ; 🎜elseif [PSR-2]🎜🎜 Utilisez elseif au lieu de else if 🎜🎜🎜🎜🎜🎜🎜eof_ending [PSR-2 ]🎜🎜 Le fichier doit se terminer par une ligne vide ;🎜🎜🎜
  • function_call_space [PSR-2]
    Lors de l'appel de fonctions et de méthodes, il ne peut pas y avoir d'espaces entre les noms de fonction et les noms de méthodes et l'expansion des paramètres

  • function_declaration [PSR-2]
    Espaces lors de la fonction ; déclaration L'utilisation doit être conforme à PSR-2 ;

    Il doit y avoir une ligne vide après la déclaration de l'espace de noms ; -2]

  • Les constantes PHP true, false et null doivent être en minuscules



  • lowercase_keywords [PSR-2]

  • Les mots-clés PHP doivent être en minuscules



  • method_ar gument_space [ RPS - 2]

  • Lorsque la méthode est déclarée et appelée, il ne doit y avoir aucun espace avant la virgule entre les paramètres, et il doit y avoir un espace après la virgule



  • multiple_use [PSR-2]

  •  ; Chaque utilisation ne peut déclarer qu'un seul élément ;



  • parenthèse [PSR-2]

  • Il ne peut y avoir d'espaces de part et d'autre de la parenthèse



  • php_closing_tag [PSR-2]

  • ; Les fichiers PHP purs doivent omettre la balise ? &gt ​​; ; le bloc d'instruction use ;



  • trailing_spaces [PSR -2]

  • Supprimer les espaces supplémentaires après les lignes non vides



  • visibility [PSR-2]

  • Chaque propriété et méthode doit spécifier ; que la portée est public, protected ou private, abstract et final doivent être avant le mot-clé scope, static Doit être situé après la portée



  • array_element_no_space_before_comma [symfony]

  • Il ne peut y avoir d'espace avant la virgule dans la déclaration du tableau ;
  • array_element_white_space_after_comma [symfony]
    Dans la déclaration du tableau, il doit y en avoir un après la virgule. Espaces personnels ?> 标签;

  • single_line_after_imports [PSR-2]
      每个 use 声明独立一行,且 use 语句块之后要有一个空白行;

  • trailing_spaces [PSR-2]
      删除非空行之后多余的空格;

  • visibility [PSR-2]
      每个属性和方法都必须指定作用域是 publicprotected 还是 privateabstractfinal 必须位于作用域关键字之前,static 必须位于作用域之后;

  • array_element_no_space_before_comma [symfony]
      数组声明中,逗号之前不能有空格;

  • array_element_white_space_after_comma [symfony]
      数组声明中,逗号之后必须有一个人空格;

  • blankline_after_open_tag [symfony]
      PHP 开始标签的同一行不能有代码,且下面必须有一个空白行;

  • concat_without_spaces [symfony]
      点连接符左右两边不能有多余的空格;

  • double_arrow_multiline_whitespaces [symfony]
    => 操作符两端不能有多个空白行;

  • duplicate_semicolon [symfony]
      删除重复的分号;

  • empty_return [symfony]
      return 语句如果没有任何返回的话直接写 return 即可(不用 return null);

  • extra_empty_lines [symfony]
      删除多余的空白行;

  • function_typehint_space [symfony]
      修正函数参数和类型提示之间的缺失的空格问题;

  • include [symfony]
    include 和文件路径之间需要有一个空格,文件路径不需要用括号括起来;

  • join_function [symfony]
      使用 join 替换 implode 函数;

  • list_commas [symfony]
      删除 list 语句中多余的逗号;

  • method_argument_default_value [symfony]
      函数参数中有默认值的参数不能位于无默认值的参数之前;

  • multiline_array_trailing_comma [symfony]
      多行数组最后一个元素应该也有一个逗号;

  • namespace_no_leading_whitespace [symfony]
      命名空间前面不应该有空格;

  • new_with_braces [symfony]
      使用 new 新建实例时后面都应该带上括号;

  • no_blank_lines_after_class_opening [symfony]
      类开始标签后不应该有空白行;

  • no_empty_lines_after_phpdocs [symfony]
      PHP 文档块开始开始元素下面不应该有空白行;

  • object_operator [symfony]
    T_OBJECT_OPERATOR (->

    🎜🎜🎜blankline_after_open_tag [symfony]🎜🎜 PHP ne peut pas avoir de code sur la même ligne que la balise d'ouverture ; , et il doit y avoir une ligne vide en dessous 🎜🎜🎜🎜🎜🎜🎜concat_without_spaces [symfony]🎜 🎜 Dot Connector Il ne peut y avoir d'espaces supplémentaires sur les côtés gauche et droit 🎜🎜🎜🎜🎜🎜🎜double_arrow_multiline_whitespaces [symfony] 🎜 🎜=> Il ne peut pas y avoir plusieurs lignes vides aux deux extrémités de l'opérateur 🎜🎜🎜🎜🎜🎜🎜empty_return [ symfony]🎜🎜 Si l'instruction return ne renvoie rien, écrivez simplement return (sans return null); symfony]🎜🎜 Corrige le problème d'espace manquant entre les paramètres de fonction et les indications de type 🎜🎜🎜🎜🎜🎜🎜include [symfony] 🎜 🎜Il doit y avoir un espace entre include et le chemin du fichier, et le chemin du fichier n'a pas besoin d'être mis entre parenthèses ; 🎜🎜🎜🎜🎜🎜🎜join_function [symfony]🎜🎜 Utilisez join Remplacez la fonction implode ; 🎜🎜🎜list_commas [symfony]🎜🎜 Supprimez les virgules supplémentaires dans l'instruction list ; 🎜🎜🎜🎜🎜🎜🎜method_argument_default_value [symfony] 🎜🎜 Les paramètres avec des valeurs par défaut dans les paramètres de fonction ne peuvent pas être placés avant les paramètres sans valeurs par défaut ; 🎜🎜🎜🎜🎜🎜🎜multiline_array_trailing_comma [symfony]🎜🎜 Le dernier élément du tableau multiligne doit également avoir une virgule 🎜🎜🎜🎜🎜🎜 🎜 namespace_no_leading_whitespace [symfony] 🎜🎜 Il ne devrait y avoir aucun espace devant l'espace de noms ; 🎜🎜🎜🎜🎜🎜🎜new_with_braces [symfony]🎜🎜 Lorsque vous utilisez new pour créer une nouvelle instance, il devrait y avoir des parenthèses après 🎜🎜🎜🎜🎜🎜 🎜no_blank_lines_after_class_opening [symfony] 🎜🎜 Il devrait il ne devrait y avoir aucune ligne vide après la balise d'ouverture de la classe 🎜🎜🎜🎜🎜🎜🎜no_empty_lines_after_phpdocs [symfony]🎜🎜 Il ne devrait y avoir aucune ligne vide sous l'élément d'ouverture du bloc de document PHP 🎜🎜🎜🎜🎜🎜🎜object_oper ator [symfony]🎜 ; 🎜T_OBJECT_OPERATOR (->) Il ne doit y avoir aucun espace aux deux extrémités 🎜🎜🎜
  • operators_spaces [symfony]
    Les opérateurs binaires ont au moins un espace aux deux extrémités

  • phpdoc_indent [symfony]
    phpdoc doit rester en retrait

  • phpdoc_inline_tag [symfony]
    Corrigez le format de balise en ligne phpdoc afin que la balise et le contenu ultérieur soient toujours sur une seule ligne

  • phpdoc_no_access [symfony]
    @access ne doit pas apparaître dans phpdoc ; @access 不应该出现在 phpdoc 中;

  • phpdoc_no_empty_return [symfony]
    @return void@return null 不应该出现在 phpdoc 中;

  • phpdoc_no_package [symfony]
    @package@subpackage 不应该出现在 phpdoc 中;

  • phpdoc_params [symfony]
    @param, @throws, @return, @var, 和 @type 等 phpdoc 标签都要垂直对齐;

  • phpdoc_scalar [symfony]
      phpdoc 标量类型声明时应该使用 int 而不是 integerbool 而不是 booleanfloat 而不是 real 或者 double

  • phpdoc_separation [symfony]
      phpdoc 中注释相同的属性应该放在一起,不同的属性之间应该有一个空白行分割;

  • phpdoc_short_description [symfony]
      phpdoc 的简要描述应该以 .!? 结尾;

  • phpdoc_to_comment [symfony]
      文档块应该都是结构化的元素;

  • phpdoc_trim [symfony]
      除了文档块最开始的部分和最后的部分,phpdoc 开始和结束都应该是有内容的;

  • phpdoc_type_to_var [symfony]
    @type 需要使用 @var 代替;

  • phpdoc_types [symfony]
      phpdoc 中应该正确使用大小写;

  • phpdoc_var_without_name [symfony]
    @var@type 注释中不应该包含变量名;

  • pre_increment [symfony]
      不应该使用 ++i--i 的用法;

  • print_to_echo [symfony]
      如果可能的话,使用 echo 代替 print 语句;

  • remove_leading_slash_use [symfony]
      删除 use 前的空行;

  • remove_lines_between_uses [symfony]
      删除 use 语句块中的空行;

  • return [symfony]
    return 之前应该有一个空行;

  • self_accessor [symfony]
      在当前类中使用 self 代替类名;

  • short_bool_cast [symfony]
    bool 类型数据前不应该试用两个感叹号;

  • single_array_no_trailing_comma [symfony]
      PHP 单行数组最后一个元素后面不应该有空格;

  • single_blank_line_before_namespace [symfony]
      命名空间声明前应该有一个空白行;

  • single_quote [symfony]
      简单字符串应该使用单引号代替双引号;

  • spaces_after_semicolon [symfony]
      修复分号后面的空格;

  • spaces_before_semicolon [symfony]
      禁止只有单行空格和分号的写法;

  • spaces_cast [symfony]
      变量和修饰符之间应该有一个空格;

  • standardize_not_equal [symfony]
      使用 代替 !=

  • ternary_spaces [symfony]
      三元运算符之间的空格标准化;

  • trim_array_spaces [symfony]
      数组需要格式化成和函数/方法参数类似,上下没有空白行;

  • unalign_double_arrow [symfony]
      不对其 =>

  • phpdoc_no_empty_return [symfony]

    @return void et @return null ne devraient pas apparaître dans phpdoc ;
    @package et @subpackage ne doivent pas apparaître dans

    🎜🎜🎜🎜phpdoc_params [symfony]🎜🎜@param, Les balises phpdoc telles que @throws, @return, @var et @type doivent être alignées verticalement 🎜 ; 🎜 🎜🎜🎜🎜🎜phpdoc_scalar [symfony]🎜🎜 La déclaration de type scalaire phpdoc doit utiliser int au lieu de integer, bool au lieu de booléen, float au lieu de real ou double 🎜🎜🎜🎜🎜🎜🎜phpdoc_separation [symfony]🎜🎜 commentaires dans phpdoc ; Les mêmes attributs doivent être rassemblés, et les différents attributs doivent être séparés par une ligne vide 🎜🎜🎜🎜🎜🎜🎜phpdoc_short_description [symfony]🎜🎜 La brève description de phpdoc doit se terminer par ., ! ou ? end; 🎜🎜🎜🎜🎜🎜🎜phpdoc_to_comment [symfony]🎜🎜 Les blocs de documents doivent tous être des éléments structurés 🎜🎜🎜🎜🎜🎜🎜phpdoc_trim [symfony ; ]🎜🎜 À l'exception de la première et de la dernière partie du bloc de document, phpdoc doit avoir du contenu au début et à la fin 🎜🎜🎜🎜🎜🎜🎜phpdoc_type_to_var [symfony]🎜🎜@type doit être ; Utilisé @var ; Les commentaires code>@ var et @type ne doivent pas contenir de noms de variables ; 🎜🎜🎜🎜🎜🎜🎜pre_increment [symfony]🎜🎜 ne doit pas utiliser ++i ; > ou --i; 🎜🎜🎜🎜🎜🎜🎜print_to_echo [symfony]🎜🎜 Si possible, utilisez echo au lieu de print déclaration ; 🎜 🎜🎜🎜🎜🎜🎜remove_leading_slash_use [symfony]🎜🎜 Supprimez la ligne vide avant use 🎜🎜🎜🎜🎜🎜🎜remove_lines_between_uses [symfony]🎜🎜 Supprimer utiliser block Il devrait y avoir une ligne vide avant 🎜🎜🎜🎜🎜🎜🎜return [symfony]🎜🎜return Utilisez self au lieu du nom de la classe 🎜🎜🎜🎜🎜🎜 ; 🎜short_bool_cast [symfony]🎜🎜bool Deux points d'exclamation ne doivent pas être utilisés avant de saisir des données 🎜🎜🎜🎜🎜🎜 🎜single_array_no_trailing_comma [symfony]🎜🎜 Il ne doit pas y avoir d'espace après le dernier élément de PHP tableau sur une seule ligne ; 🎜🎜🎜🎜🎜🎜🎜single_blank_line_before_namespace [symfony]🎜🎜 Il devrait y avoir une ligne vide avant la déclaration de l'espace de noms ; Les chaînes simples doivent utiliser des guillemets simples au lieu de guillemets doubles ; 🎜🎜🎜🎜🎜🎜🎜spaces_after_semicolon [symfony]🎜🎜 Correction de l'espace après le point-virgule 🎜🎜🎜🎜🎜🎜🎜spaces_before_s emicolon [symfony]🎜🎜 interdit Uniquement les espaces et les semi-lignes ; deux points ; 🎜🎜🎜🎜 🎜🎜🎜spaces_cast [symfony]🎜🎜 Il devrait y avoir un espace entre les variables et les modificateurs 🎜🎜🎜🎜🎜🎜🎜standardize_not_equal [symfony]🎜🎜 Utilisez au lieu de  ! =; 🎜🎜🎜🎜🎜🎜🎜ternary_spaces [symfony]🎜🎜 Normaliser les espaces entre les opérateurs ternaires 🎜🎜🎜🎜🎜🎜🎜trim_array_spaces [symfony]🎜🎜 Les tableaux doivent être formatés de manière similaire à la fonction ; /paramètres de la méthode, sans lignes vides au-dessus et en dessous 🎜🎜🎜🎜🎜🎜🎜unalign_double_arrow [symfony]🎜🎜 Ne pas utiliser => 🎜🎜🎜 🎜🎜🎜🎜unalign_equals [symfony]🎜🎜 ; ne fait pas égal au signe ;🎜🎜🎜
  • unary_operators_spaces [symfony]
    Les opérateurs et opérandes unaires doivent être adjacents ;

  • unneeded_control_parentheses [symfony]
    Supprimez les parenthèses redondantes dans les instructions de structure de contrôle ;

  • unused_use [symfony ] Supprimer les instructions d'utilisation inutilisées ;


  • whitespacy_lines [symfony] Supprimer les espaces supplémentaires dans les lignes vides ;

En plus des options ci-dessus, certaines ont été fournies par l'utilisateur. Les options ne seront pas présentés un par un ici.

Chaque personne et chaque équipe peut avoir sa propre opinion sur la question de savoir si le style de code doit être unifié et quelles normes doivent être mises en œuvre. Voici juste une introduction à cet outil. Quant à savoir comment le choisir, c'est à vous de décider. S'il s'agit d'un projet open source, vous pouvez également essayer StyleCI.

Apprentissage recommandé : "

Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
PHP et Python: différents paradigmes expliquésPHP et Python: différents paradigmes expliquésApr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP et Python: une plongée profonde dans leur histoirePHP et Python: une plongée profonde dans leur histoireApr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Choisir entre PHP et Python: un guideChoisir entre PHP et Python: un guideApr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

PHP et frameworks: moderniser la languePHP et frameworks: moderniser la langueApr 18, 2025 am 12:14 AM

PHP reste important dans le processus de modernisation car il prend en charge un grand nombre de sites Web et d'applications et d'adapter les besoins de développement via des cadres. 1.Php7 améliore les performances et introduit de nouvelles fonctionnalités. 2. Des cadres modernes tels que Laravel, Symfony et Codeigniter simplifient le développement et améliorent la qualité du code. 3. L'optimisation des performances et les meilleures pratiques améliorent encore l'efficacité de l'application.

Impact de PHP: développement Web et au-delàImpact de PHP: développement Web et au-delàApr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

Comment fonctionne la résistance au type PHP, y compris les types scalaires, les types de retour, les types d'union et les types nullables?Comment fonctionne la résistance au type PHP, y compris les types scalaires, les types de retour, les types d'union et les types nullables?Apr 17, 2025 am 12:25 AM

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

Comment PHP gère le clonage des objets (mot-clé de clone) et la méthode de magie __clone?Comment PHP gère le clonage des objets (mot-clé de clone) et la méthode de magie __clone?Apr 17, 2025 am 12:24 AM

Dans PHP, utilisez le mot-clé Clone pour créer une copie de l'objet et personnalisez le comportement de clonage via la méthode de magie du clone \ _ \ _. 1. Utilisez le mot-clé Clone pour faire une copie peu profonde, en clonant les propriétés de l'objet mais pas aux propriétés de l'objet. 2. La méthode du clone \ _ \ _ peut copier profondément les objets imbriqués pour éviter les problèmes de copie superficiels. 3. Faites attention pour éviter les références circulaires et les problèmes de performance dans le clonage et optimiser les opérations de clonage pour améliorer l'efficacité.

PHP vs Python: cas d'utilisation et applicationsPHP vs Python: cas d'utilisation et applicationsApr 17, 2025 am 12:23 AM

PHP convient aux systèmes de développement Web et de gestion de contenu, et Python convient aux scripts de science des données, d'apprentissage automatique et d'automatisation. 1.Php fonctionne bien dans la création de sites Web et d'applications rapides et évolutifs et est couramment utilisé dans CMS tel que WordPress. 2. Python a permis de manière remarquable dans les domaines de la science des données et de l'apprentissage automatique, avec des bibliothèques riches telles que Numpy et Tensorflow.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.