Utilizzo di Composer con WordPress
Pubblicato: 2022-06-30WordPress è in circolazione dal 2003 ed è diventato lo strumento predefinito per la maggior parte delle persone che desiderano avviare un sito Web. Sebbene abbia fatto molta strada dalle sue radici come motore di blog, la tecnologia sottostante non ha fatto gli stessi passi avanti dell'esperienza utente.
Lo sviluppo di WordPress ruota ancora attorno a molti degli standard presenti nel 2003. Sebbene ciò possa renderlo più accessibile alle persone a causa della minore comprensione tecnica richiesta, significa anche che molte nuove risorse di sviluppo non sono compatibili con WordPress immediatamente.
Oggi daremo un'occhiata a uno di quei nuovi strumenti chiamati Composer. Vediamo come può adattarsi al tuo flusso di lavoro WordPress e discutere perché potresti volerlo provare.
Cos'è il compositore?
Ogni bit di codice che scrivi ha delle dipendenze. Se stai scrivendo un plugin per WordPress, la tua più grande dipendenza è lo stesso WordPress. Senza le funzioni principali fornite da WordPress, è probabile che il tuo plug-in non sia affatto utile. Al di fuori di WordPress stesso, potresti aver bisogno di un moderno client SOAP come nusoap per interfacciarsi con le API basate su SOAP.
In passato, la maggior parte delle persone copiava semplicemente il repository per nusoap in una directory nel proprio plugin e quindi includeva i file necessari per utilizzare la libreria. È qui che Composer può intervenire e semplificare parte della gestione delle tue dipendenze.
Il compositore è un gestore delle dipendenze. È progettato specificamente per semplificare l'installazione e la gestione delle dipendenze. Questo può diventare particolarmente cruciale se stai lavorando in un team e vuoi assicurarti che ogni membro del team utilizzi le stesse librerie mentre svolgono il loro lavoro di sviluppo.
Alla base, Composer è un file JSON che descrive in dettaglio le dipendenze che hai installato e le versioni delle dipendenze che desideri utilizzare. Puoi vedere un esempio di base di seguito che include la dipendenza nusoap.
{
"richiedere": {
“econa/nusoap”: “^0.9.10”
}
}
Quando eseguo composer require econea/nusoap nel mio plugin, installerà nusoap per me e lo bloccherà sulla versione specificata. In questo caso, sto usando 0.9.10 e continuerò a usarlo a meno che non dica a Composer di aggiornare la dipendenza.
Questo ha il vantaggio rispetto al semplice download e all'inclusione di nusoap perché posso usare l'aggiornamento del compositore per aggiornare tutte le mie dipendenze senza dover andare a vedere se ci sono aggiornamenti e scaricarli manualmente nel mio progetto. Il compositore assume la gestione delle risorse a questo livello.
Iniziare con il compositore
L'installazione del compositore è abbastanza semplice.
Su Windows
Se sei su Windows, è disponibile un programma di installazione per semplificare il processo. Installerà l'ultima versione di Composer e la renderà accessibile a livello globale per i tuoi progetti.
Linux/Unix/macOS
Su una di queste piattaforme, hai ancora qualche passaggio per ottenere la configurazione di Composer. Per iniziare, esegui i comandi necessari per scaricare Composer e configurarlo.
php -r “copy('https://getcomposer.org/installer', 'composer-setup.php');”
php -r “if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07eeer0f76'181c7 echod'Installa) {181c7 echod' } else { echo 'Installer danneggiato'; unlink('compositore-setup.php'); } eco PHP_EOL;”
php composer-setup.php
php -r “unlink('composer-setup.php');”
Successivamente, ti consigliamo di eseguire Composer a livello globale per lo sviluppo locale, quindi dovremo regolare l'installazione predefinita per assicurarci che sia disponibile ogni volta che desideriamo utilizzare Composer. Puoi spostare Composer in modo che sia disponibile a livello globale con il seguente comando eseguito dalla stessa directory da cui hai appena scaricato Composer.
mv composer.phar /usr/local/bin/composer
Aggiornamento del compositore
Su Windows e macOS tutto ciò che devi fare per eseguire l'aggiornamento all'ultima versione di Composer è eseguire l'aggiornamento automatico del compositore. Se sei su Linux/Unix, dovrai eseguire sudo apt update && upgrade in modo che il tuo sistema controlli le ultime versioni, quindi puoi eseguire l'aggiornamento automatico del compositore per ottenere l'ultima versione.
Ora che hai impostato, diamo un'occhiata all'utilizzo di Composer per installare WordPress.
Installa WordPress con Composer
E se volessi gestire un intero sito con Composer? Innanzitutto, devi decidere se WordPress è la dipendenza del progetto o il nucleo del progetto? Sì, un po' da torcere il cervello.
WordPress può essere considerato una dipendenza del progetto perché l'obiettivo finale per i tuoi clienti non è installare WordPress. Vogliono un negozio o un blog e questo dipende dall'installazione di WordPress. Questa è la posizione che assume un progetto come Roots con la sua configurazione Bedrock WordPress basata su Composer chiamata Bedrock.
Usare Bedrock significa che non devi dire a Composer di WPackagist perché è già impostato. È qui che ti consiglio di iniziare se stai cercando di gestire un intero sito con Composer.
Per installare Bedrock eseguire il comando seguente.
compositore crea-progetto radici/roccia
Questo ti darà la seguente struttura di file.
├── composer.json
├── .env
├── config
│ ├── application.php
│ └── ambienti
│ ├── sviluppo.php
│ ├── staging.php
│ └── produzione.php
├── venditore
└── web
├── app
│ ├── mu-plugin
│ ├── plugin
│ ├── temi
│ └── caricamenti
├── wp-config.php
├── index.php
└── wp
Questo è molto diverso dalla configurazione standard di WordPress. Per iniziare hai il tuo file composer.json nella radice dell'installazione. Qui è dove vedrai la tua configurazione di Composer.
Il tuo file .env è dove puoi archiviare le diverse configurazioni del database. Ciò è necessario perché il tuo sito locale e il tuo sito live avranno password e nomi utente diversi per il database. Il file wp-config.php predefinito comprenderà le variabili che hai inserito nel tuo file .env perché Bedrock usa quelle variabili invece dell'hard coding nelle informazioni di connessione del database.
Il tuo file .env dovrebbe essere ignorato nel tuo repository Git. Quando si configura un nuovo sito, si aggiunge un nuovo file .env con le informazioni di configurazione del database richieste.
Ci sono alcune altre variabili che devi impostare qui per avviare Bedrock, che sono tutte dettagliate nella loro documentazione.
Nella cartella config ci sono diverse configurazioni predefinite per gli ambienti che utilizzerai. In fase di sviluppo, questo attiva la segnalazione degli errori e, nei tuoi ambienti di produzione, assicura che la registrazione degli errori non interferisca con il buon funzionamento del tuo sito.
Con Bedrock come base, ora puoi utilizzare Composer per installare i plugin di WordPress tramite WPackagist.
WPackagist è un mirror del tema WordPress e del repository di plugin. Ciò è necessario perché per impostazione predefinita la maggior parte dei plugin e dei temi non sono disponibili per l'installazione di Composer. Il mirror aggiunge i file richiesti per ciascun plug-in in modo che Composer possa essere utilizzato per gestire i plug-in.
Se desideri installare WooCommerce nella tua installazione WordPress basata su Bedrock, devi prima richiedere WooCommerce, il compositore richiede wpackagist-plugin/woocommerce, quindi devi dire a Composer di installare le dipendenze, installare il compositore.
Ora puoi andare nell'area di amministrazione della tua installazione di WordPress e attivare WooCommerce e iniziare a costruire il tuo sito. Per aggiornare WooCommerce quando esce una nuova versione, o per aggiornare WordPress, devi eseguire l'aggiornamento del compositore.
È qui che un progetto basato su Composer può finire nei guai. Se esegui gli aggiornamenti tramite l'amministratore di WordPress, avrai una discrepanza tra ciò che Composer si aspetta e ciò che WordPress ha installato. Se hai intenzione di utilizzare Composer, continua a usarlo come strumento di aggiornamento e non lavorare tramite l'amministratore di WordPress.
Quando dovresti usare il compositore ?
Sono sicuro che molti di voi si stanno chiedendo perché Composer è un ottimo strumento per lo sviluppo di WordPress. WordPress non è stato creato pensando a Composer, quindi per lavorarci devi saltare attraverso alcuni cerchi per farlo funzionare bene.
Per gli sviluppatori di plugin e temi è evidente che Composer può semplificare la gestione delle dipendenze che è necessario importare dal più ampio ecosistema PHP. Per gli sviluppatori di WordPress, l'argomento è meno chiaro. Ad alcuni piace usare Composer per gestire l'intero sito come fa Roots. Questo può farti avere meno file gestiti da Git, ma non mi è mai sembrato un caso convincente.
Il caso che mi piace è che Composer può rendere facile avere dipendenze diverse per ambienti diversi. È quindi possibile utilizzare il processo di distribuzione per distribuire tali dipendenze nei propri ambienti e non doverli gestire manualmente.
Come sviluppatore, devi anche tenere conto delle esigenze del tuo cliente. Se non hanno un team di sviluppo in giro per gestire il sito a lungo termine, potrebbero riscontrare problemi con un'installazione di WordPress non standard. In alcuni casi, i loro host potrebbero dire loro che il supporto non è disponibile perché non utilizzano il modo normale di installare e utilizzare WordPress. Quando servi i clienti, devi sempre bilanciare la fantastica tecnologia che usi con ciò che il cliente può gestire a lungo termine.
Solo per questo motivo, non utilizzo Composer nei miei progetti di siti completi. I miei clienti li gestiranno giorno per giorno per anni e non voglio erigere ulteriori barriere. Entrambi vogliamo che i loro siti funzionino senza intoppi per gli anni a venire.
Se stai cercando di aggiornare le tue competenze in PHP con le moderne tecnologie, allora dovresti sicuramente dare un'occhiata a come Composer può adattarsi ai tuoi flussi di lavoro WordPress.