asispts/ptscs
最新稳定版本:2.1.1
Composer 安装命令:
composer require asispts/ptscs
包简介
PSR-12 coding standard with stricter rules
README 文档
README
ptscs
» PSR-12 coding standard with stricter rules «
ptscs is a PHP_CodeSniffer ruleset based on PSR-12 with stricter rules for consistency, readability, and best practices.
Installation
composer require --dev asispts/ptscs
Usage
Create a phpcs.xml.dist file in your project root with the following configuration (customize as needed for your project structure):
<?xml version="1.0" encoding="UTF-8"?> <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd"> <arg name="colors" /> <arg name="parallel" value="8" /> <arg value="psv" /> <arg name="extensions" value="php" /> <file>src</file> <file>tests</file> <exclude-pattern>vendor</exclude-pattern> <rule ref="ptscs" /> <!-- Example: exclude a rule --> <!-- (e.g. disable abstract/final requirement in symfony entities) --> <rule ref="SlevomatCodingStandard.Classes.RequireAbstractOrFinal"> <exclude-pattern>src/Entity</exclude-pattern> </rule> <!-- Example: add an extra rule --> <!-- (e.g. enforce namespace matches file name; useful where PHPStan falls short) --> <rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName"> <properties> <property name="rootNamespaces" type="array"> <element key="ptscs" value="Ptscs" /> <element key="tests" value="Ptscs\Tests" /> </property> </properties> </rule> </ruleset>
Notable Rules
This coding standard uses PSR-12 with some changes and stricter requirements:
declare(strict_types=1)is required in all PHP files and must be on the same line as the opening tag:<?php declare(strict_types=1)
snake_caseis allowed in test method names:public function test_something(): void {}
- All classes must be declared as
finalorabstract:// Not allowed class Foobar {}
- Filenames must match class names.
See the full list in RULES.md.
Contributing
Contributions are welcome! Please open an issue to discuss major changes before submitting a pull request.
License
Released under MIT License.
统计信息
- 总下载量: 5.07k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-06-27