strictphp/conventions

我们的代码规范由 PHPStan、Easy Coding Standard、RectorPHP 以及适当的自定义规则和配置强制实施。

v1.0.3 2024-06-30 14:08 UTC

This package is auto-updated.

Last update: 2024-08-30 14:30:29 UTC


README

.github/banner.webp

Latest Stable Version Total Downloads License PHP Version Require

欢迎来到 StrictPHP 规范,这是一个 Composer 包,旨在标准化我们的各种项目中的 PHP 代码。这个包集合了一系列的工具和配置,用于提高代码质量、可维护性和最佳实践。它专为寻求在项目中实现一致性和卓越的开发者精心打造,我们鼓励大家采用它。欢迎 Pull Requests!

包含的功能

此包捆绑了一系列强大的工具和配置,以支持您的开发工作流程

  • PHPStan 配置和自定义规则:集成了 PHPStan,并提供了针对我们项目的预定义配置和规则。
  • Easy Coding Standard 配置:利用 Easy Coding Standard 来强制执行一致的编码风格和实践。
  • PHPUnit 10/11 支持:确保与 PHPUnit 兼容,以方便全面的测试。
  • RectorPHP 配置:提供 RectorPHP 的配置,以改善代码质量。
  • 扩展 PHPStan 包:包括额外的包以增强 PHPStan 的功能。更多详细信息,请参阅包含的 composer.json 文件。

对于 Laravel,请使用 LaraStrict 规范

先决条件

在安装之前,请确保您的环境满足以下要求

  • PHP 版本 8.1 或更高。
  • Composer
  • 启用 PHPStan 扩展安装器 - 它由我们的包安装,以允许扩展发现。

仅维护此包的最新主要版本。

安装

要将 StrictPHP 规范纳入您的项目,请简单地在您的终端中运行以下命令

composer require strictphp/conventions --dev

这将安装此包作为开发依赖项。您将被提示确认插件的安装

您是否信任 "phpstan/extension-installer" 执行代码,并希望现在启用它?(是/否) [y]

输入 y 以使用包提供的所有扩展。

入门指南

安装后,您可以根据项目的具体需求扩展提供的配置。

设置 Easy Coding Standard

要使用 Easy Coding Standard,请在项目的根目录中创建一个 ecs.php 文件,使用此设置或更新您的配置

<?php

declare(strict_types=1);

use Symplify\EasyCodingStandard\Config\ECSConfig;

return ECSConfig::configure()
    ->withRootFiles()
    ->withPaths([
        __DIR__ . '/src',
        __DIR__ . '/tests',
    ])
    // This is required to include the StrictPHP Conventions
    ->withSets([\StrictPhp\Conventions\ExtensionFiles::Ecs]);

配置 RectorPHP

要集成 RectorPHP,请在项目的根目录中添加一个 rector.php 文件,使用以下配置或更新您的配置

<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;

return RectorConfig::configure()
    ->withRootFiles()
    ->withPaths([
        __DIR__ . '/src',
        __DIR__ . '/tests',
    ])
    // This is required to include the StrictPHP Conventions
    ->withSets([\StrictPhp\Conventions\ExtensionFiles::Rector]);

集成 PHPStan

您需要使用 phpstan 扩展安装器来安装所需的扩展。这是一个推荐设置

parameters:
  level: max
  paths:
      - src
      - ecs.php
      - rector.php
      - extension-ecs.php
      - extension-rector.php

致谢

此项目得益于几个其他有影响力的项目的慷慨支持

探索更多我们的开源项目

  • Larastrict - 通过一系列便捷的工具和包增强 Laravel 框架。
  • StrictPHP - 通过一系列精选的包和约定,在 PHP 项目中启用严格性,促进稳健的生产级应用的开发。
  • WrkFlow - 使用一套全面工具简化开发工作流程,提高效率。

许可证

开源软件,根据 MIT 许可证 许可。您可以自由使用和修改以满足您的需求。