pattisahusiwa/coding-standard

此软件包已被放弃,不再维护。作者建议使用 asispts/ptscs 软件包。

PHP_CodeSniffer 的另一个 PHP 编程规范

安装: 677

依赖: 2

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 2

类型:phpcodesniffer-standard

v0.4 2020-10-05 22:01 UTC

This package is auto-updated.

Last update: 2023-04-28 01:01:59 UTC


README

此仓库已被归档。请使用 asispts/ptscs

基于 PSR-12 的 PHP 编程规范

Packagist License Packagist PHP Version Support Packagist Version

基于 PSR-12 的 PHP 编程规范,包含一些例外和补充。

已弃用

请使用 asispts/ptscs

安装

使用 composer 安装

composer require --dev pattisahusiwa/coding-standard

使用

安装后,在项目的根目录下创建 phpcs.xmlphpcs.xml.dist 文件,并添加以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
    <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"/>
</ruleset>

运行 phpcs 验证您的源代码风格,运行 phpcbf 修复违规。

编码风格

所有编码风格的示例可以在 /tests/**/_data/*.php.fixed 中找到。以下是一个类声明的示例。

<?php declare(strict_types=1);

namespace Ptscs\Tests;

use ParentClass;
use SomeInterface;

final class Classes extends ParentClass implements SomeInterface
{
    use sometrait;

    /**
     * @var object
     */
    private $obj1;

    /**
     * @var object
     */
    private $obj2;

    /**
     * @var string[]
     */
    private $data = [];

    // Example of multiline function arguments
    public function __construct(
        object $obj1,
        object $obj2
    ) {
        $this->obj1 = $obj1;
        $this->obj2 = $obj2;
    }

    public function setData(string $key, string $value): void
    {
        $this->data[$key] = $value;
    }

    public function getData(string $key): string
    {
        if (array_key_exists($key, $this->data) === true) {
            return $this->data[$key];
        }

        return '';
    }
}

许可

MIT 许可证 下发布。请参阅 LICENSE 文件。