✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

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

21

Ви хочете вдосконалити свої стандарти кодування 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 ПОЗНАЧЕНИХ ПОРУШЕНЬ НУХУ

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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі