laminas / laminas-coding-standard
Laminas 编码标准
Requires
- php: ^7.4 || ^8.0
- dealerdirect/phpcodesniffer-composer-installer: ^0.7 || ^1.0
- slevomat/coding-standard: ^7.0
- squizlabs/php_codesniffer: ^3.6
- webimpress/coding-standard: ^1.2
Conflicts
- phpstan/phpdoc-parser: >=1.6.0
This package is auto-updated.
Last update: 2024-09-12 21:49:15 UTC
README
🇷🇺 俄罗斯公民
我们,Laminas 的参与者,来自不同的国家。我们中许多人有在俄罗斯和乌克兰的朋友、亲戚和同事。我们中的一些人在俄罗斯出生。我们中的一些人现在住在俄罗斯。我们中的一些人的祖父母在二战中与法西斯作战。这里没有人支持法西斯主义。
我们中的一位成员有一个乌克兰亲戚,她带着儿子逃离了家园。火车因为前方的轰炸而延误。我们有一些朋友在防空洞里躲藏。我们在空袭后焦急地等待他们的消息,空袭无差别地轰炸医院、学校、幼儿园和住宅。我们不是从任何媒体中得知这些。这是我们的亲身经历。
您对我们足够信任,使用我们的程序,我们请求您再次信任我们。我们需要帮助。走出家门,抗议这场毫无意义的战争。停止血腥。说“不,战争!”
🇺🇸 致俄罗斯公民
Laminas 的我们来自世界各地。我们中许多人有在俄罗斯和乌克兰的朋友、家人和同事。我们中的一些人在俄罗斯出生。我们中的一些人现在住在俄罗斯。我们中的一些人的祖父母在二战中与纳粹作战。这里没有人支持法西斯主义。
我们团队中的一位成员有一个乌克兰亲戚,她带着儿子逃离了家园。火车因为前方的轰炸而延误。我们有一些朋友在防空洞里躲藏。我们在空袭后焦急地等待他们的消息,空袭无差别地轰炸医院、学校、幼儿园和住宅。我们不是从任何媒体中得知这些。这是我们的亲身经历。
您对我们足够信任,使用我们的软件。我们请求您在这件事上信任我们。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说“停止战争!”
Laminas 组件的编码标准规则集。
本规范扩展并扩展了 PSR-12,扩展编码风格指南,并要求遵守 PSR-1,基本编码标准。这些都是最小规范,并不涵盖所有因素,包括如下内容:
- 操作符周围的空白
- 数组键和操作符的对齐
- 对象操作的对齐
- 如何格式化多行条件
- 要导入什么和不导入什么,以及如何导入
- 等等。
贡献者有不同的编码风格,维护者也是如此。在代码审查期间,经常讨论空格和对齐,何时说一个函数需要导入。这就是这个编码标准的作用:在一个组件和组件之间保持内部一致性。
安装
-
通过运行以下命令使用 composer 安装模块:
composer require --dev laminas/laminas-coding-standard
-
将 composer 脚本添加到您的
composer.json
"scripts": { "cs-check": "phpcs", "cs-fix": "phpcbf" }
-
在您的存储库的基本路径上创建名为
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
-
自动修复许多代码规范问题
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();
开发
新规则或嗅探器可能不会在次要或错误修复版本中引入,而应始终基于develop分支,并排队等待下一个主要版本,除非被认为是现有规则的错误修复。
如果您想测试对Laminas组件或您自己的项目的更改,请使用composer全局安装您分叉的laminas-coding-standard。
$ composer global config repositories.laminas-coding-standard vcs [email protected]:<FORK_NAMESPACE>/laminas-coding-standard.git $ composer global require --dev laminas/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
来预览文档。这将启动一个服务器,您可以在其中阅读文档。
参考
规则可以根据您的偏好在本地添加、排除或调整。有关如何执行此操作的信息,请参阅此处