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

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 la extensió PHPCS a l’editor Visual Studio Code.

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

  1. PHP amb XAMPP per Windows ( PHP 7.4 no el PHP 8 que de moment dona errors amb PHPCS, segons he comprovat).
  2. Composer.
  3. PHP Code Sniffer (PHPCS).
  4. WordPress Code Standards (WPCS)
  5. VSC (i extensió PHPCS)

He tingut que refer tota la instal·lació perquè amb PHP 8 el codi de PHPCS em donava un error al WPCS. 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. (Maig 2022)

XAMPP

He fet la instal·lació amb XAMPP versió 7.4 La part senzilla és el XAMPP. A https://sourceforge.net/projects/ i en el

directori xampp/files/XAMPP%20Windows/7.4.33/ Per cert, no cal engegar el XAMPP per fer anar el PHPCS només utilitzarem que el PHP està instal·lat! Per simplificar, descarrega el XAMPP al directori C:\xampp;

Compte perquè l’instal·lador de XAMPP no és gaire brillant i no permet seleccionar el directori. O sigui que cal posar-o on el vols. Cal canviar-se al directori de destí manualment.

Assegurat d’afegir també el path al Windows C:\xampp\php. (Mai no recordo com es fa ni com ho he fet!).

Ara comprova que el PHP està disponible des del directori de treball on tens el codi:

php --version

Quan tinguis aquest pas, passa al següent. Si et respon alguna cosa axí, serà que està funcionant:

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

Composer

Ara cal baixar Composer per Windows.

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

Composer va instal·lat al directori d’usuari, a C:\Users\myuser\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 

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. Aquest és el meu path: C:\Users\myuser\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\bin; Comprovo que phpcs està disponible 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 el WPCS (WordPress Coding Standard): 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’ escriurí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.

Com funciona tot plegat?

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

LListat d’errors de PHPCS din VSC.

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 corregeixes l’error 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 (com a mi em molesta) et cal desactivar l’extensió al VSC (disable) en la pestanya d’extensions i passar primer a corregir els errors crítics!

Com podeu veure hi ha tants passos manuals que em calia escriure’ls en el meu bloc per si de cas ho necessito en el futur.


Publicada

a

per

Comentaris

Deixa un comentari

L’adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Choose language ca | es | X