laminas70/laminas-coding-standard

Laminas Coding Standard 的 PHP 7.0 支持

安装: 40

依赖: 3

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 0

开放问题: 0

类型:phpcodesniffer-standard

2.4.x-dev 2022-04-22 06:13 UTC

This package is auto-updated.

Last update: 2024-09-22 11:33:40 UTC


README

Build Status

🇷🇺 俄罗斯公民

我们,Laminas 的参与者,来自不同的国家。我们中许多人有俄罗斯和乌克兰的朋友、亲戚和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母在二战中与法西斯战斗过。这里没有人支持法西斯主义。

我们中的一位成员有一位乌克兰亲戚,她和儿子一起逃离了家园。由于前方道路的轰炸,火车延误了。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭无差别地攻击医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这些消息的。这是我们亲身经历的事情。

您对我们足够信任,使用我们的程序,我们请求您再次信任我们。我们需要帮助。走出家门,抗议这场毫无意义的战争。停止杀戮。说“停止战争!”

🇺🇸 致俄罗斯公民

我们Laminas的成员来自世界各地。我们中许多人有俄罗斯和乌克兰的朋友、家人和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母在二战中与纳粹战斗过。这里没有人支持法西斯主义。

我们的团队成员中有一位乌克兰亲戚,她和儿子一起逃离了家园。由于前方道路的轰炸,火车延误了。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭无差别地攻击医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这些消息的。这是我们亲身经历的事情。

您对我们足够信任,使用我们的软件。我们请求您在这件事情上也信任我们。我们需要您的帮助。走出家门,抗议这场毫无意义的战争。停止杀戮。说“停止战争!”

Laminas 组件的编码标准规则集。

本规范扩展并扩展了 PSR-12,扩展编码风格指南,并要求遵守 PSR-1,基本编码标准。这些是最小规范,并不涵盖所有因素,包括以下内容:

  • 运算符周围的空白
  • 数组键和运算符的对齐
  • 对象操作的对齐
  • 多行条件语句的格式化
  • 导入什么和不导入什么,以及如何导入
  • 等等。

贡献者有不同的编码风格,维护者也是如此。在代码审查过程中,经常讨论空格和对齐,何时需要导入函数。这就是这个编码标准的用武之地:在组件内部和组件之间保持一致性。

安装

  1. 通过运行以下命令安装模块:

    composer require --dev laminas70/laminas-coding-standard
  2. 将 composer 脚本添加到您的 composer.json 文件中

    "scripts": {
      "cs-check": "phpcs",
      "cs-fix": "phpcbf"
    }
  3. 在您的存储库的根目录下创建一个名为 phpcs.xml 的文件,并包含以下内容

    <?xml version="1.0"?>
    <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">
    
        <arg name="basepath" value="."/>
        <arg name="cache" value=".phpcs-cache"/>
        <arg name="colors"/>
        <arg name="extensions" value="php"/>
        <arg name="parallel" value="80"/>
    
        <!-- Show progress -->
        <arg value="p"/>
    
        <!-- Paths to check -->
        <file>config</file>
        <file>src</file>
        <file>test</file>
    
        <!-- Include all rules from the Laminas Coding Standard -->
        <rule ref="LaminasCodingStandard"/>
    </ruleset>

您可以在该文件中添加或排除某些位置。有关参考,请参阅:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Ruleset

使用方法

  • 仅运行检查

    composer cs-check
  • 自动修复许多 CS 问题

    composer cs-fix

忽略文件的部分

注意:在 PHP_CodeSniffer 版本 3.2.0 之前,使用 // @codingStandardsIgnoreStart// @codingStandardsIgnoreEnd。这些已被弃用,将在 PHP_CodeSniffer 版本 4.0 中删除。

禁用文件的部分

$xmlPackage = new XMLPackage;
// phpcs:disable
$xmlPackage['error_code'] = get_default_error_code_value();
$xmlPackage->send();
// phpcs:enable

禁用特定规则

// phpcs:disable Generic.Commenting.Todo.Found
$xmlPackage = new XMLPackage;
$xmlPackage['error_code'] = get_default_error_code_value();
// TODO: Add an error message here.
$xmlPackage->send();
// phpcs:enable

忽略特定违规

$xmlPackage = new XMLPackage;
$xmlPackage['error_code'] = get_default_error_code_value();
// phpcs:ignore Generic.Commenting.Todo.Found
// TODO: Add an error message here.
$xmlPackage->send();

开发

新规则或 Sniffs 可能不会在次要或错误修复版本中引入,而应始终基于 develop 分支,并排队等待下一个主要版本,除非被认为是现有规则的错误修复。

如果您想测试对 Laminas 组件或您自己的项目的更改,请使用 composer 全局安装您的 laminas-coding-standard 分支

$ composer global config repositories.laminas-coding-standard vcs git@github.com:<FORK_NAMESPACE>/laminas-coding-standard.git
$ composer global require --dev laminas70/laminas-coding-standard:dev-<FORKED_BRANCH>

# For this to work, add this to your path: ~/.composer/vendor/bin
# Using `-s` prints the rules that triggered the errors so they can be reviewed easily. `-p` is for progress display.
$ phpcs -sp --standard=LaminasCodingStandard src test

确保您在测试后从您的全局 composer.json 文件中删除全局安装!!!

通过安装 MkDocs 并运行 mkdocs serve 可以在本地预览文档。这将启动一个服务器,您可以在其中阅读文档。

参考

规则可以根据您的偏好添加、排除或调整,更多有关如何执行此操作的信息可以在此找到