✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

PHP_CodeSniffer – uma biblioteca para melhorar seus padrões de codificação PHP

21

Você quer melhorar seus padrões de codificação PHP? Obviamente sim. Não importa se você é um desenvolvedor PHP novato ou experiente, todos desejam melhorar seus padrões de codificação.

Mas como?

Bem, existem vários recursos disponíveis na Internet que você pode ler e começar a implementar.

Existe mais uma solução que não requer leitura sobre codificação padrão. Em vez disso, ele fornece sugestões para melhorar o tempo de execução dos padrões examinando o arquivo PHP. Dessa forma é melhor, pois você obterá uma sugestão clara junto com o número da linha.

Introdução ao PHP_CodeSniffer

Como o nome sugere, PHP_CodeSniffer cheira o código em seus arquivos ou pastas. Em qualquer lugar, ele fareja o código incorreto e informa onde está o código incorreto e quais etapas devem ser executadas para corrigi-lo. PHP_CodeSniffer atua como seu verificador de código PHP.

É uma biblioteca altamente recomendada para um programador de PHP. Ao trabalhar em um projeto PHP, você não deve entregar seu código ao cliente final até terminar com os padrões de codificação PHP sugeridos pelo PHP_CodeSniffer.

Afinal, o programador PHP deve entregar um código melhor e PHP_CodeSniffer ajuda você a codificar melhor.

Instale PHP_CodeSniffer usando o Composer

Composer é um gerenciador de dependências para PHP. Ele permite que você instale / atualize a biblioteca necessária para o seu projeto.

Você pode instalar PHP_CodeSniffer no diretório raiz do seu projeto. Porém, eu recomendo que você crie uma pasta ‘php_codesniffer’ no diretório raiz e instale a biblioteca dentro desta pasta.

Para instalar o PHP_CodeSniffer usando o composer, abra o prompt de comando no diretório ‘php_codesniffer’ e execute o comando abaixo.

composer require "squizlabs/php_codesniffer=*"

PHP_CodeSniffer - uma biblioteca para melhorar seus padrões de codificação PHP

Vamos verificar nossos padrões de codificação PHP

Em seguida, vá para o php_codesniffer/vendor/bindiretório a partir do prompt de comando. A partir dessa pasta bin, verificaremos nossos padrões de codificação PHP em relação ao PHP_CodeSniffer.

Por exemplo, vamos supor que temos um arquivo chamado index.php em seu projeto. Meu arquivo index.php contém o código abaixo.

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

Este código é usado para redimensionar a imagem em PHP usando a biblioteca TinyPNG. Nosso código está funcionando bem e dando o resultado esperado. Mas, perdemos alguns padrões de codificação em nosso arquivo.

Vamos descobrir qual padrão está faltando no arquivo acima.

Verificaremos este arquivo em relação ao PHP_CodeSniffer executando o comando abaixo.

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

Estamos trabalhando no Windows, portanto, em nosso caso, um comando seria o seguinte.

phpcs --standard=PEAR D:wampwwwapitinypngindex.php

Aqui, ‘–standard = PEAR’ significa que nosso arquivo verificará o padrão definido pelo PEAR.

PHP_CodeSniffer - uma biblioteca para melhorar seus padrões de codificação PHP

Depois de executar o comando acima, encontramos alguns erros sobre os padrões de codificação.

Corrija o código usando diretrizes

Vamos dar um exemplo de erro.

Segundo erro dizendo ‘require_once’ é uma instrução, não uma função: nenhum parêntese é necessário

Por esse erro, ficamos sabendo do padrão de inclusão de arquivo externo.

Nosso código abaixo

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

deve substituir por

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

Este é um exemplo de correção de código. No seu caso, você pode encontrar alguns outros erros. Você deve corrigi-lo seguindo as instruções que recebeu.

A biblioteca PHP_CodeSniffer fornece um comando que corrige automaticamente as violações do padrão de codificação. Lembre-se de que este comando não corrige todos os erros. Ele cuidará de alguns erros menores, como recuo, fechamento de parênteses, etc.

Se você olhar a imagem acima, você notará que um total de 7 erros encontrados em nosso arquivo. Após a lista de erros, veja a linha

‘PHPCBF’ PODE CORRIGIR AS 6 VIOLAÇÕES DE SNIFF MARCADAS AUTOMATICAMENTE

PHP_CodeSniffer - uma biblioteca para melhorar seus padrões de codificação PHP

Primeiro erro que está relacionado à falta de comentário de documento de arquivo, temos que cuidar desse comentário de documento. O comando ‘PHPCBF’ não o corrigirá.

Dito isso, vamos escrever o comando para ele.

phpcbf --standard=PEAR D:wampwwwapitinypngindex.php

PHP_CodeSniffer - uma biblioteca para melhorar seus padrões de codificação PHP

Na captura de tela, você pode ver que corrigiu 6 erros e 1 restante. O erro restante está relacionado ao comentário do documento do arquivo.

Portanto, adicionaremos o comentário do arquivo e nosso código final será o seguinte.

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

Agora, se executarmos o script ‘phpcs’, não obteremos nenhum erro de padrão de codificação do PHP.

PHP_CodeSniffer - uma biblioteca para melhorar seus padrões de codificação PHP

Nota: PHP_CodeSniffer valida seus arquivos JS e CSS também.

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação