WordPress编码标准 v1.0.0 正式发布

2018年7月31日11:52:00 发表评论 22 views

WordPress编码标准的目的是在WordPress开源项目和社区的各个方面创建协作和审查的基线,从核心代码到主题再到插件。WordPress社区开发了本手册中包含的标准,这些标准是建议开发人员和核心贡献者遵循的最佳实践的一部分。之前提交过主题或插件到WordPress官方库是有一套标准的,今天,WordPress 代码标准1.0.0 已经正式发布了!这是一个漫长的过程,因为这套标准是从2009年开始编撰的,至今已经9年!

WordPress编码标准 v1.0.0 正式发布

 

介绍

该项目是PHP_CodeSniffer规则(嗅探)的集合,用于验证为WordPress开发的代码。它确保了代码质量和遵守编码惯例,尤其是官方的WordPress编码标准

 

项目历史

  • 2009年4月22日,Urban Giraffe的原始项目被打包并出版。
  • 2011年5月,该项目被分叉并由Chris Adams添加到GitHub。
  • 2012年4月,XWP开始投入资源开发并领导WordPress-Core,WordPress-VIP(WordPress.com VIP)和WordPress-Extra 的规则创建。
  • 2015年5月,初始文档规则集被添加为WordPress-Docs。
  • 2015年,J.D. Grimes开始做出重大贡献,同时还有Gary Jones的维护。
  • 2016年,Juliette Reinders Folmer开始做出巨大贡献,自项目被添加到GitHub以来的五年中,每年增加的贡献量超过其他任何人。
  • 2018年7月,该项目的1.0.0版本发布。

 

安装

要求

WordPress编码标准要求PHP 5.3或更高版本,以及PHP_CodeSniffer版本2.9.0或更高版本。从版本0.13.0开始,WordPress编码标准与PHPCS 3.0.2+兼容。在这种情况下,PHP的最低要求是PHP 5.4。

 

Composer

可以使用Composer依赖关系管理器安装标准:

  1. composer create-project wp-coding-standards/wpcs --no-dev

运行此命令后:

  1. 将WordPress标准安装到wpcs目录中。
  2. 安装PHP_CodeSniffer。
  3. 在PHP_CodeSniffer配置中注册WordPress标准。
  4. 使phpcs命令可用wpcs/vendor/bin

为了方便phpcs用作全局命令,可以将wpcs/vendor/scripts(PHPCS 2.x)或wpcs/vendor/bin(PHPCS 3.x)目录的路径添加到PATH操作系统的环境变量中。

 

将WPCS安装为依赖项

在较大的项目中安装WordPress编码标准作为依赖项时,上述步骤3将不会自动执行。有两个Composer插件可以处理PHP_CodeSniffer的标准注册:

强烈建议require项目中的其中一个插件为处理使用PHPCS注册外部标准。

 

独立

1、按照安装说明安装PHP_CodeSniffer (通过Composer,Phar文件,PEAR或Git checkout)。确保PHP_CodeSniffer的版本符合我们的要求,例如,如果您使用的是VVV。

2、克隆WordPress标准存储库:

  1. git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs

3、将其路径添加到PHP_CodeSniffer配置:

  1. phpcs --config-set installed_paths /path/to/wpcs

提示:可以通过将以下代码段添加到自定义规则集来告诉PHP_CodeSniffer WordPress标准的路径:

  1. < config  name = “ installed_pa​​ths ”  value = “ / path / to / wpcs ” />

总结一下:

  1. cd  ~ / projects
  2. git clone https://github.com/squizlabs/PHP_CodeSniffer.git phpcs
  3. git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs
  4. cd phpcs
  5.  # PHPCS 2.x
  6. ./scripts/phpcs --config-set installed_pa​​ths ../wpcs
  7. # PHPCS 3.X
  8. ./bin/phpcs --config设置installed_pa​​ths ../wpcs

然后通过(。~/projects/phpcs/scripts)将(PHPCS 2.x)或~/projects/phpcs/bin(PHPCS 3.x)目录添加到PATH环境变量中.bashrc。然后,您应该WordPress-Core在运行时看到phpcs -i

 

规则集

标准子集

该项目包含了WordPress社区可能需要的超级嗅探。如果使用该WordPress标准,将获得所有检查。其中一些可能对环境不必要,例如,特定于WordPress.com VIP编码要求的环境。在调用phpcs选择嗅探时,可以使用以下作为标准名称,以满足需求:

WordPress - 完整的设置与项目中的所有嗅探

 

注意:此WPCS包中包含另一个规则集的嗅探WordPress-VIP。此规则集最初旨在帮助WordPress.com VIP编码要求,但WordPress.com VIP团队或其客户不再使用或推荐这一规则,因为他们更愿意使用其官方VIP编码标准规则集。

在WPCS之前1.0.0,WordPress-VIP规则集作为完整WordPress规则集的一部分包含在内。由于1.0.0WordPress-VIP规则集是不是WordPress的规则集的一部分,它已被弃用。其余的WordPress-VIP嗅探仍然可以在自定义规则集中引用,因此为了保持一些向后兼容性,它们将保留在WPCS中,直到2.0.0

 

使用自定义规则集

如果需要进一步自定义项目的嗅探选择 - 可以创建自定义规则集文件。将此文件命名为phpcs.xml或时phpcs.xml.dist,只要将PHP_CodeSniffer放在运行CodeSniffer的目录中或其上方的目录中,它就会自动找到它。如果您遵循这些命名约定,则不必提供--standardarg。有关更多信息,请阅读有关使用默认配置文件的信息。另请参阅PHP_CodeSniffer文档中提供的phpcs.xml.dist.sample文件和完全注释的示例

 

自定义嗅探行为

WordPress编码标准包含许多可配置的嗅探。可以打开或关闭部分嗅探,或通过在自定义phpcs.xml文件中设置嗅探属性来更改行为。

 

推荐的其他规则集

强烈建议使用PHPCompatibility规则集及其子集PHPCompatibilityWP。该PHPCompatibility嗅探的目的是分析您的跨PHP版本的兼容性代码。

PHPCompatibilityWP规则集是基于PHPCompatibility,而是特制的,以防止误报其预计到WordPress的背景下,IE内核,插件和主题中运行的项目。

安装为单独的规则集,并根据您的代码单独运行或将其添加到自定义规则集。

无论您以何种方式运行它,请确保将其设置testVersion为运行嗅探。在testVersion确定该PHP版本,您将收到的兼容性信息。此时推荐的设置是 5.2-支持与WordPress Core支持的相同的PHP版本。

有关设置的详细信息testVersion,请参阅:

 

如何使用

命令行

phpcs在给定文件或目录上运行命令行工具,例如:

  1. phpcs --standard=WordPress wp-load.php

将导致以下输出:

WordPress编码标准 v1.0.0 正式发布

 

在IDE中使用PHPCS和WPCS

 

使用CI工具自动通过WPCS运行代码

特拉维斯CI

要将PHPCS与WPCS与Travis CI集成,您需要同时安装它们before_install并将run命令添加到script。如果您的项目使用Composer,则典型说明可能会有所不同。

如果您使用Travis中的矩阵设置来针对不同的PHP和/或WordPress版本测试代码,则不需要在矩阵的每个变体上运行PHPCS,因为结果将是相同的。您可以在Travis矩阵中设置环境变量,仅针对矩阵中的一个设置运行嗅探。

 

特拉维斯CI的例子

  1. 语言:php
  2. matrix:
  3.    include
  4.      #任意PHP版本来运行嗅探。
  5.     - PHP:' 7.0 '
  6.       的env:SNIFF = 1
  7. before_install:
  8.   - 如果[[“$ SNIFF”==“1”]]; 然后导出PHPCS_DIR = / tmp / phpcs; fi
  9.   - if [[“$ SNIFF”==“1”]]; 然后导出SNIFFS_DIR = / tmp / sniffs; fi
  10.   #安装PHP_CodeSniffer。
  11.   - 如果[[“$ SNIFF”==“1”]]; 然后git clone -b master --depth 1 https://github.com/squizlabs/PHP_CodeSniffer.git $ PHPCS_DIR; fi 
  12.   #安装WordPress编码标准。
  13.   - 如果[[“$ SNIFF”==“1”]]; 然后git clone -b master --depth 1 https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git $ SNIFFS_DIR; fi 
  14.   #设置WordPress编码标准的安装路径。
  15.   - 如果[[“$ SNIFF”==“1”]];
  16.   然后$ PHPCS_DIR / bin / phpcs --config -set installed_pa​​ths $ SNIFFS_DIR; fi #安装CodeSniffer后,您应该刷新您的路径。
  17.   - 如果[[“$ SNIFF”==“1”]]; 然后phpenv rehash; 科幻
  18. 脚本:
  19.    #运行WordPress编码标准。
  20.   #如果你使用自定义的规则集,改变` -标准= WordPress`指向你的规则集文件,
  21.   #例如:` -标准= wpcs.xml`。
  22.   #你可以使用任何的正常PHPCS命令行参数的命令:
  23.   # https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage 
  24.   - 如果[“$嗅” ==“1”]]; 然后$ PHPCS_DIR / bin / phpcs -p。-标准= WordPress的; 科幻

有关在Travis构建测试中集成PHPCS的更多示例和建议,请访问:https://github.com/jrfnl/make-phpcs-work-for-you/tree/master/travis-examples

 

要了解更多 WordPress 代码标准 的内容,请访问:https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards

网络转载

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: