blitz-php / coding-standard
Normes de codage officielles pour Blitz PHP basées sur PHP CS Fixer
Installs: 3 714
Dependents: 14
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 1
Requires
- php: ^8.1
- ext-tokenizer: *
- friendsofphp/php-cs-fixer: ^3.61.1
- nexusphp/cs-config: ^3.24
Requires (Dev)
- nexusphp/tachycardia: ^2.3
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^10.5 || ^11.2
README
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.