WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

PHP_CodeSniffer – библиотека для улучшения ваших стандартов кодирования PHP

48

Вы хотите улучшить свои стандарты кодирования PHP? Очевидно, да. Независимо от того, являетесь ли вы более свежим или опытным разработчиком PHP, каждый хочет улучшить свои стандарты кодирования.

Но как?

Что ж, в Интернете доступно несколько ресурсов, которые вы можете прочитать и приступить к реализации.

Есть еще одно решение, которое не требует чтения о стандартном кодировании. Вместо этого он дает вам предложения по улучшению среды выполнения стандартов, просматривая ваш файл PHP. Этот способ лучше, так как вы получите четкое предложение вместе с номером строки.

Введение в PHP_CodeSniffer

Как следует из названия, PHP_CodeSniffer нюхает код в ваших файлах или папках. Везде, где он чувствует плохой код, он сообщает вам, где находится плохой код и какие шаги вы должны предпринять для его исправления. PHP_CodeSniffer действует как программа проверки кода PHP.

Это очень рекомендуемая библиотека для программистов PHP. Во время работы над проектом PHP вы не должны доставлять свой код конечному клиенту, пока не закончите с PHP_CodeSniffer, предложенными стандартами кодирования PHP.

В конце концов, программист PHP должен предоставить лучший код, а PHP_CodeSniffer поможет вам улучшить код.

Установите PHP_CodeSniffer с помощью Composer

Composer – это менеджер зависимостей для PHP. Он позволяет вам установить / обновить библиотеку, необходимую для вашего проекта.

Вы можете установить PHP_CodeSniffer в корневой каталог вашего проекта. Но я рекомендую вам создать папку php_codesniffer в корневом каталоге и установить библиотеку внутри этой папки.

Чтобы установить PHP_CodeSniffer с помощью композитора, откройте командную строку в каталоге php_codesniffer и выполните следующую команду.

composer require "squizlabs/php_codesniffer=*"

PHP_CodeSniffer - библиотека для улучшения ваших стандартов кодирования PHP

Давайте проверим наши стандарты кодирования PHP

Затем перейдите в php_codesniffer/vendor/binкаталог из командной строки. Из этой папки bin мы проверим наши стандарты кодирования PHP на соответствие PHP_CodeSniffer.

Например, предположим, что в вашем проекте есть файл с именем index.php. Мой файл index.php содержит приведенный ниже код.

<?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;
?>

Этот код используется для изменения размера изображения в PHP с помощью библиотеки TinyPNG. Наш код работает нормально и дает ожидаемый результат. Но мы упустили некоторые стандарты кодирования в нашем файле.

Давайте выясним, какого стандарта нам не хватает в приведенном выше файле.

Мы проверим этот файл на соответствие PHP_CodeSniffer, выполнив следующую команду.

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

Мы работаем в Windows, поэтому в нашем случае команда будет выглядеть следующим образом.

phpcs --standard=PEAR D:wampwwwapitinypngindex.php

Здесь «–standard = PEAR» означает, что наш файл будет проверяться на соответствие стандарту, установленному PEAR.

PHP_CodeSniffer - библиотека для улучшения ваших стандартов кодирования PHP

После выполнения указанной выше команды мы получили несколько ошибок в стандартах кодирования.

Исправьте код, используя инструкции

Возьмем один пример ошибки.

Вторая ошибка: “require_once” – это инструкция, а не функция: скобки не требуются.

По этой ошибке мы узнаем о стандарте включения внешнего файла.

Наш код ниже

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

следует заменить на

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

Это один из примеров исправления кода. В вашем случае вы можете найти и другие ошибки. Вы должны исправить это, следуя полученным инструкциям.

Библиотека PHP_CodeSniffer предоставляет одну команду, которая автоматически исправляет нарушения стандартов кодирования. Помните, что эта команда не исправляет все ошибки. Он позаботится о некоторых незначительных ошибках, таких как отступы, закрывающие круглые скобки и т.д.

Если вы посмотрите на приведенный выше снимок экрана, вы заметите, что всего в нашем файле обнаружено 7 ошибок. После списка ошибок см. Строчку

‘PHPCBF’ МОЖЕТ ИСПРАВИТЬ 6 ОТМЕЧЕННЫХ НАРУШЕНИЙ SNIFF АВТОМАТИЧЕСКИ

PHP_CodeSniffer - библиотека для улучшения ваших стандартов кодирования PHP

Первая ошибка, связанная с отсутствующим комментарием документа к файлу, мы должны исправить этот комментарий документа. Команда PHPCBF не исправит это.

Сказав это, давайте напишем для него команду.

phpcbf --standard=PEAR D:wampwwwapitinypngindex.php

PHP_CodeSniffer - библиотека для улучшения ваших стандартов кодирования PHP

На скриншоте видно, что исправлено 6 ошибок и 1 осталась. Оставшаяся ошибка связана с комментарием документа к файлу.

Итак, мы добавим комментарий к файлу, и наш окончательный код будет следующим.

<?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;
?>

Теперь, если мы запустим сценарий phpcs, мы не получим ошибок стандартов кодирования PHP.

PHP_CodeSniffer - библиотека для улучшения ваших стандартов кодирования PHP

Примечание. PHP_CodeSniffer также проверяет ваши файлы JS и CSS.

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее