Skip to content

yiisoft/code-style

Yii

Yii Code Style


Latest Stable Version Total Downloads Build status Code Coverage Static analysis type-coverage psalm-level

A package that provides PHP CS Fixer rule sets and Rector rules for enforcing code style in Yii packages.

Requirements

  • PHP 7.4 or higher.

Installation

The package could be installed with Composer:

composer require --dev yiisoft/code-style

General usage

PHP CS Fixer

The package contains the following sets of rules:

  1. @Yiisoft/Core
  2. @Yiisoft/Core:risky

An example configuration using these rule sets:

<?php

declare(strict_types=1);

use PhpCsFixer\Finder;
use Yiisoft\CodeStyle\ConfigBuilder;

$finder = (new Finder())->in([
    __DIR__ . '/src',
    __DIR__ . '/tests',
]);

return ConfigBuilder::build()
    ->setRiskyAllowed(true)
    ->setRules([
        '@Yiisoft/Core' => true,
        '@Yiisoft/Core:risky' => true,
    ])
    ->setFinder($finder);

Rector

The package provides Rector rules:

  • RemoveOverrideAttributeRector — removes the #[Override] attribute from methods. Yii convention is not to use this attribute.

A ready-to-use SetList::YII_CORE set with rules recommended for Yii packages is also provided:

<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;
use Yiisoft\CodeStyle\Rector\SetList;

return RectorConfig::configure()
    ->withPaths([
        __DIR__ . '/src',
        __DIR__ . '/tests',
    ])
    ->withSets([
        SetList::YII_CORE,
    ]);

Documentation

If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.

License

The Yii Code Style is free software. It is released under the terms of the BSD License. Please see LICENSE for more information.

Maintained by Yii Software.

Support the project

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack

Credits

The package is inspired by spiral/code-style repository.

About

PHP CS Fixer rule sets for Yii packages.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages