blitz-php/coding-standard

Normes de codage officielles pour Blitz PHP basées sur PHP CS Fixer

1.4.0 2023-10-17 13:52 UTC

This package is auto-updated.

Last update: 2024-04-19 11:57:08 UTC


README

Unit Tests Coding Standards PHPStan Static Analysis PHPStan level Coverage Status Latest Stable Version License Total Downloads

Cette bibliothèque contient les normes de codage officielles de Blitz-PHP basées sur PHP CS Fixer et alimenté par Nexus CS Config. Les règles sont inspirées de celles de CodeIgniter

Installation

Vous pouvez ajouter cette bibliothèque en tant que dépendance locale par projet à votre projet en utilisant Composer:

composer require blitz-php/coding-standard

Si vous n'avez besoin de cette bibliothèque que pendant le développement, par exemple pour exécuter la suite de tests de votre projet, alors vous devez l'ajouter en tant que dépendance de développement:

composer require --dev blitz-php/coding-standard

Configuration

Pour commencer, créons un fichier .php-cs-fixer.dist.php à la racine de votre projet.

<?php

use BlitzPHP\CodingStandard\Blitz;
use Nexus\CsConfig\Factory;

return Factory::create(new Blitz())->forProjects();

Cette configuration minimale renverra une instance par défaut de PhpCsFixer\Config contenant toutes les règles applicables pour Blitz. Ensuite, dans votre terminal, lancez la commande suivante :

$ vendor/bin/php-cs-fixer fix --verbose

Ajout d'en-têtes de licence

La configuration par défaut ne configurera pas d'en-tête de licence dans les fichiers. Les en-têtes de licence peuvent être particulièrement utiles aux auteurs de la bibliothèque de faire valoir le droit d'auteur. Pour ajouter des en-têtes de licence dans vos fichiers PHP, vous pouvez simplement fournir votre nom et le nom de la bibliothèque. En option, vous pouvez également fournir votre adresse e-mail et l'année de licence de départ.

 <?php

 use BlitzPHP\CodingStandard\Blitz;
 use Nexus\CsConfig\Factory;

-return Factory::create(new Blitz())->forProjects();
+return Factory::create(new Blitz())->forLibrary(
+    'Blitz-PHP framework',
+    'Blitz-PHP Foundation',
+    'contact@blitz-php.com',
+    2022,
+);

Fournir des règles et des options prioritaires

La liste des règles activées se trouve dans la classe BlitzPHP\CodingStandard\Blitz. Si vous pensez que la règle ne s'applique pas à vous ou que vous souhaitez la modifier, vous pouvez le faire en fournissant un tableau des nouvelles règles via le second paramètre de Factory::create().

De même, vous pouvez modifier davantage l'instance PhpCsFixer\Config renvoyée en utilisant les options disponibles. Toutes les options disponibles sont entièrement prises en charge par Nexus CS Config et résumées en fournissant simplement un tableau de paires clé-valeur dans le troisième paramètre de Factory::create().

 <?php

 use BlitzPHP\CodingStandard\Blitz;
 use Nexus\CsConfig\Factory;

-return Factory::create(new Blitz())->forProjects();
+return Factory::create(new Blitz(), [], [
+    'usingCache' => false,
+])->forProjects();

Vous pouvez consulter le propre .php-cs-fixer.dist.php de cette bibliothèque pour vous inspirer de la façon dont cela est fait. Pour une documentation plus détaillée sur toutes les options disponibles, vous pouvez consulter ici.

Contribution

Toutes les formes de contributions sont les bienvenues !

Étant donné que les règles ici seront propagées et utilisées au sein de l'organisation Blitz-PHP, toutes les règles proposées et les modifications apportées aux règles existantes doivent faire l'objet d'une PR de preuve de concept (POC) envoyé en premier au référentiel de Blitz-PHP avec les modifications possibles des styles de code qui y sont appliqués. Une fois accepté là, vous pouvez envoyer un PR ici pour appliquer ces règles.

Licence

Ce travail est open-source sous la licence MIT.