Revisa els plugins de WordPress amb PHP CodeSniffer i els WordPress Coding Standards a Windows utilizant XAMPP i Composer

Escrit per:

Si vols fer una extensió per a WordPress et pot ser útil revisar-la seguint els estàndards de WordPress. A Windows no és gaire senzill perquè cal instal·lar diversos programaris amb unes quantes configuracions manuals.

Si la teva instal·lació és Windows 10. El primer que et cal és disposar de PHP instal·lat en el path de Windows. Després et caldrà la instal·lació de Composer per Windows, amb el Composer pots instal·lar el PHP Code Sniffer (phpcs) i, finalment et caldrà baixar els WordPress Coding Standards. Finalment per tenir la instal·lació complerta Pots afegir PHPCS a l’editor Visual Studio Code.

La llista complerta de passos de descarrega de programari seria la següent:

  • PHP amb XAMPP per Windows ( PHP 7.4 no el PHP 8 que de moment dona errors amb PHPCS).
  • Composer.
  • PHP Code Sniffer (PHPCS).
  • WordPress Code Standards (WPCS)

He tingut que refer tota la instal·lació perquè amb PHP 8 el codi de PHPCS em donava un error al WPCS. Per tant, després de llegir alguns fòrums, he trobat una solució senzilla refent la instal·lació i tornant a instal·lar XAMPP amb PHP 7.4.33. No és la solució ideal perquè jo volia el PHP 8 però en general la majoria del codi és compatible amb 7.4.

XAMPP

He fet la instal·lació amb XAMPP versió 7.4

https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.4.33/

La part senzilla és el XAMPP. Per cert, no cal engegar el XAMPP per fer anar el PHPCS només utilitzarem el PHP instal·lat!

Per simplificar, descarrega al directori C:\xampp; Compte perquè l’instal·lador de XAMPP no és gaire brillant i no permet seleccionar el directori. Cal posar-se al directori de destí manualment.

Assegurat d’afegir també el path de Windows C:\xampp\php.

Ara comprova que està disponible des del teu directori de treball:

php –version

Et respon:

PHP 7.4.33 (cli) (built: Nov 2 2022 16:00:55) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Quan tinguis aquest pas, passa al següent.

Composer

Ara cal baixar Composer per Windows.

Composer per Windows https://getcomposer.org/download/.

Composer va instal·lat al directori d’usuari a Appdata/Roaming. Afegeix al path C:\Users\myuser\AppData\Roaming\Composer\vendor\bin; Igualment comprova que funciona des del teu directori de treball:

> composer –version // comprovació que està disponible:

Respon així:

>Composer version 2.5.4 2023-02-15 13:10:06

Des de Composer ara és molt senzill instal·lar el PHP Code Sniffer.

> composer global require “squizlabs/php_codesniffer=*”

Necessitem que Code Sniffer sigui al path de Windows.

C:\Users\myuser\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\bin;

Comprovo phpcs des del directori de treball:

>phpcs –version

Ens dona el resultat següent:

>PHP_CodeSniffer version 3.7.1 (stable) by Squiz (http://www.squiz.net)

WordPress Code Standards

Ens falta baixar WPCS:

https://github.com/WordPress/WordPress-Coding-Standards.

L’he ficat dins del directori de Code Sniffer:

../Composer/vendor/squizlabs/php_codesniffer/.

Es pot baixar amb git també.

git clone -b master https://github.com/WordPress/WordPress-Coding-Standards.git wpcs

He fet varies proves i perquè funcioni com cal cal afegir el path al fitxer Codesniffer.conf

phpcs --config-set installed_paths C:\Users\myuser\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\wpcs

El fitxer Codesniffer.conf tindrà l’entrada següent:

‘installed_paths’ => ‘C:\Users\myuser\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\wpcs’,

Executa PHPCS i PHPCBF

Un cop tinguem tot a lloc podem comprovar un fitxer qualsevol amb el codi següent. Per exemple, per comprovar un fitxer de nom ‘sentences.php’ faríem això:

phpcs –standard=WordPress sentences.php

El flag –standard permet escollir l’estàndard a comprovar i darrera pots escriure el nom d’un fitxer, o de diversos fitxers o un directori. Aquest codi ens comprovarà un fitxer de nom ‘sentences.php’ i ens donarà la sortida al terminal.

Si volem corregir el fitxer automàticament podem escriure el següent:

phpcbf –standard=WordPress -n sentences.php

La opció -n és per corregir només els errors i no les advertències.

El script no fa totes les correccions però n’estalvia moltes. Per tant, la resta de correccions s’ha de fer editant el manualment.

Altres comandaments útils son phpcs –help i phpcs –version, que hem vist abans.

Visual Studio Code

Un pas addicional és integrar PHPCS a Visual Studio Code.

M’he baixat l’extensió https://marketplace.visualstudio.com/items?itemName=shevaua.phpcs.

He afegit el ‘Phpcs: Executable Path‘ a la configuració de l’extensió C:/Users/myuser/AppData/Roaming/Composer/vendor/squizlabs/php_codesniffer/bin/phpcs. També he desactivat les advertències ‘Phpcs: Show Warnings‘ per conveniència.

Cada cop que edites un fitxer .php immediatament apareixen els problemes detectats automàticament a sota a la finestra ‘PROBLEMS’.

LLista d’errors.

Clicant a una línia pots veure on és el codi que et cal modificar. I al revés també pots clicar al text de l’editor o passar-hi el ratolí per sobre per veure el missatge d’error. Els errors es veuen a l’editor subratllats en vermell.

Codi assenyalat pel PHPCS subratllat en vermell.

Quan el corregeixes desapareix el codi de error alhora de la finestra 'PROBLEMS‘. Compte perquè els errors crítics estan barrejats amb els errors detectats pel Code Sniffer. Per tant, si et molesta veure ho tot barrejat et cal desactivar l’extensió al VSC (disable),


Publicada

a

per