Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

PHP_CodeSniffer – Une bibliothèque pour améliorer vos normes de codage PHP

18

Vous souhaitez améliorer vos standards de codage PHP? Évidemment oui. Peu importe que vous soyez un développeur PHP plus récent ou expérimenté, tout le monde souhaite améliorer ses normes de codage.

Mais comment?

Eh bien, il existe plusieurs ressources disponibles sur Internet que vous pouvez lire et commencer à mettre en œuvre.

Il existe une autre solution qui ne nécessite pas de lire sur le codage standard. Au lieu de cela, il vous donne des suggestions pour améliorer votre environnement d’exécution standard en examinant votre fichier PHP. De cette façon, c’est mieux car vous obtiendrez une suggestion claire avec le numéro de ligne.

Introduction à PHP_CodeSniffer

Comme son nom l’indique, PHP_CodeSniffer sent le code dans vos fichiers ou dossiers. Partout où il sent le mauvais code qu’il vous donne, signalez où se trouve le mauvais code et quelles mesures vous devez prendre pour le corriger. PHP_CodeSniffer agit comme votre vérificateur de code PHP.

C’est une bibliothèque fortement recommandée pour un programmeur PHP. Lorsque vous travaillez sur un projet PHP, vous ne devez pas livrer votre code au client final avant d’avoir terminé avec les normes de codage PHP suggérées par PHP_CodeSniffer.

Après tout, le programmeur PHP devrait fournir un meilleur code et PHP_CodeSniffer vous aide pour un meilleur codage.

Installer PHP_CodeSniffer à l’aide de Composer

Composer est un gestionnaire de dépendances pour PHP. Il vous permet d’installer/mettre à jour la bibliothèque dont vous avez besoin pour votre projet.

Vous pouvez installer PHP_CodeSniffer dans le répertoire racine de votre projet. Mais, je vous recommande de créer un dossier ‘php_codesniffer’ dans le répertoire racine et d’installer la bibliothèque à l’intérieur de ce dossier.

Pour installer PHP_CodeSniffer à l’aide de composer, ouvrez l’invite de commande dans le répertoire ‘php_codesniffer’ et exécutez la commande ci-dessous.

composer require "squizlabs/php_codesniffer=*"

PHP_CodeSniffer - Une bibliothèque pour améliorer vos normes de codage PHP

Vérifions nos normes de codage PHP

Ensuite, dirigez-vous vers le php_codesniffer/vendor/binrépertoire à partir de l’invite de commande. À partir de ce dossier bin, nous vérifierons nos normes de codage PHP par rapport à PHP_CodeSniffer.

Par exemple, supposons que nous ayons un fichier appelé index.php dans votre projet. Mon fichier index.php contient le code ci-dessous.

<?php
require_once ("vendor/autoload.php");
require_once ("config.php");
 
TinifysetKey(TINIFY_KEY);
 
$source = TinifyfromFile("large.jpg");
$resized = $source->resize(
    array(
        "method" => "cover",
        "width" => 150,
        "height" => 100
    ));
$resized->toFile("thumbnail1.jpg");
 
echo "Image resized.";
 
$bool = true;
?>

Ce code utilisé pour redimensionner l’image en PHP à l’aide de la bibliothèque TinyPNG. Notre code fonctionne bien et donne le résultat attendu. Mais, nous avons manqué certaines normes de codage dans notre fichier.

Voyons quelle norme nous manque dans le fichier ci-dessus.

Nous allons vérifier ce fichier par rapport à PHP_CodeSniffer en exécutant la commande ci-dessous.

phpcs --standard=PEAR /path/to/your/file

Nous travaillons sous Windows, donc dans notre cas, une commande serait la suivante.

phpcs --standard=PEAR D:wampwwwapitinypngindex.php

Ici, ‘–standard=PEAR’ signifie que notre fichier sera vérifié par rapport à la norme définie par PEAR.

PHP_CodeSniffer - Une bibliothèque pour améliorer vos normes de codage PHP

Après avoir exécuté la commande ci-dessus, nous avons eu quelques erreurs sur les normes de codage.

Corrigez le code en utilisant des directives

Prenons un exemple d’erreur.

Deuxième erreur indiquant que "require_once" est une instruction et non une fonction : aucune parenthèse n’est requise

Par cette erreur, nous apprenons à connaître la norme pour inclure un fichier externe.

Notre code ci-dessous

require_once ("vendor/autoload.php");
require_once ("config.php");

devrait remplacer par

require_once "vendor/autoload.php";
require_once "config.php";

Ceci est un exemple de code de correction. Dans votre cas, vous pouvez trouver d’autres erreurs. Vous devez le corriger en suivant les instructions que vous avez reçues.

La bibliothèque PHP_CodeSniffer fournit une commande qui corrige automatiquement les violations des normes de codage. N’oubliez pas que cette commande ne corrige pas toutes les erreurs. Il s’occupera de certaines erreurs mineures comme l’indentation, les parenthèses fermantes, etc.

Si vous regardez la capture d’écran ci-dessus, vous remarquerez qu’un total de 7 erreurs trouvées dans notre fichier. Après la liste des erreurs, voir la ligne

‘PHPCBF’ PEUT CORRIGER AUTOMATIQUEMENT LES 6 VIOLATIONS DE SNIFF MARQUÉES

PHP_CodeSniffer - Une bibliothèque pour améliorer vos normes de codage PHP

Première erreur liée à un commentaire de doc de fichier manquant, nous devons nous occuper de ce commentaire de doc. La commande ‘PHPCBF’ ne le corrigera pas.

Cela dit, écrivons la commande pour cela.

phpcbf --standard=PEAR D:wampwwwapitinypngindex.php

PHP_CodeSniffer - Une bibliothèque pour améliorer vos normes de codage PHP

Dans la capture d’écran, vous pouvez voir qu’il a corrigé 6 erreurs et qu’il en reste 1. L’erreur restante est liée au commentaire du fichier doc.

Ainsi, nous ajouterons le commentaire de fichier et notre code final sera le suivant.

<?php
/**
 * This file will generate the resize version of an image
 *
 * PHP version 5.6.25
 *
 * @category Resize_Image
 * @package  TinyPNG
 * @author   Sajid <[email protected]>
 * @license  http://www.php.net/license/3_01.txt  PHP License 3.01
 * @link     https://artisansweb.net/resize-image-php-using-tinypng
 */
require_once "vendor/autoload.php";
require_once "config.php";
 
TinifysetKey(TINIFY_KEY);
 
$source = TinifyfromFile("large.jpg");
$resized = $source->resize(
    array(
        "method" => "cover",
        "width" => 150,
        "height" => 100
    )
);
$resized->toFile("thumbnail1.jpg");
 
echo "Image resized.";
 
$bool = true;
?>

Maintenant, si nous exécutons le script ‘phpcs’, nous n’obtiendrons aucune erreur de normes de codage PHP.

PHP_CodeSniffer - Une bibliothèque pour améliorer vos normes de codage PHP

Remarque : PHP_CodeSniffer valide également vos fichiers JS et CSS.

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails