Utilizarea Composer cu WordPress

Publicat: 2022-06-30

WordPress există din 2003 și a devenit instrumentul implicit pentru majoritatea oamenilor care doresc să înceapă un site web. Deși a parcurs un drum lung de la rădăcinile sale ca motor de blog, tehnologia de bază nu a făcut aceleași salturi pe care le are experiența utilizatorului.

Dezvoltarea WordPress se învârte în continuare în jurul multor standarde care au fost prezente în 2003. Deși acest lucru îl poate face mai accesibil pentru oameni din cauza înțelegerii tehnice mai reduse necesare, înseamnă, de asemenea, că multe resurse noi de dezvoltare nu sunt compatibile cu WordPress.

Astăzi, vom arunca o privire la unul dintre acele instrumente mai noi numite Composer. Să vedem cum se poate integra în fluxul dvs. de lucru WordPress și să discutăm de ce ați dori să îl încercați.

Ce este Composer?

Fiecare fragment de cod pe care îl scrieți are dependențe. Dacă scrieți un plugin WordPress, cea mai mare dependență a dvs. este WordPress însuși. Fără funcțiile de bază pe care WordPress le oferă, este probabil ca pluginul tău să nu fie util deloc. În afara WordPress în sine, ar putea avea nevoie de un client SOAP modern, cum ar fi nusoap, pentru a interfața cu API-urile bazate pe SOAP.

În trecut, majoritatea oamenilor copiau pur și simplu depozitul pentru nusoap într-un director din plugin-ul lor și apoi includeau fișierele necesare pentru a utiliza biblioteca. Aici Composer poate interveni și simplifica o parte din gestionarea dependențelor dvs.

Composer este un manager de dependență. Este conceput special pentru a facilita instalarea și gestionarea dependențelor. Acest lucru poate deveni deosebit de crucial dacă lucrați într-o echipă și doriți să vă asigurați că fiecare membru al echipei folosește aceleași biblioteci în timp ce își desfășoară activitatea de dezvoltare.

La bază, Composer este un fișier JSON care detaliază dependențele pe care le-ați instalat și ce versiuni ale dependențelor doriți să utilizați. Puteți vedea mai jos un exemplu de bază care include dependența de nusoap.

{

„cere”: {

„econea/nusoap”: „^0.9.10”

}

}

Când rulez Composer require econea/nusoap în pluginul meu, acesta va instala nusoap pentru mine și îl va bloca la versiunea specificată. În acest caz, folosesc 0.9.10 și îl voi folosi în continuare, dacă nu îi spun lui Composer să actualizeze dependența.

Acest lucru are avantajul față de simpla descărcare și includere a nusoap, deoarece pot folosi actualizarea compozitorului pentru a-mi actualiza toate dependențele fără a fi nevoie să văd dacă există actualizări și să le descarc manual în proiectul meu. Composer preia managementul resurselor la acest nivel.

Noțiuni introductive cu Composer

Instalarea compozitorului este destul de simplă.

Pe Windows

Dacă sunteți pe Windows, există un program de instalare furnizat pentru a simplifica procesul. Va instala cea mai recentă versiune a Composer și o va face accesibilă la nivel global pentru proiectele dvs.

Linux/Unix/macOS

Pe oricare dintre aceste platforme, mai aveți câțiva pași pentru a obține configurarea Composer. Pentru a începe, rulați comenzile necesare pentru a descărca Composer și pentru a-l configura.

php -r „copy('https://getcomposer.org/installer', 'composer-setup.php');”

php -r „dacă (fișier_hash('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37f63f885e036d3726f885e036d3726f885e036d3726fc6289d3769d036d3763600000000000001 } else { echo 'Installer corupt'; unlink('composer-setup.php'); } echo PHP_EOL;”

php composer-setup.php

php -r „unlink('composer-setup.php');”

Apoi, veți dori să rulați Composer la nivel global pentru dezvoltare locală, așa că va trebui să ajustăm instalarea implicită pentru a ne asigura că este disponibilă oricând dorim să folosim Composer. Puteți muta Composer pentru a fi disponibil la nivel global cu următoarea comandă executată din același director din care tocmai ați descărcat Composer.

mv composer.phar /usr/local/bin/composer

Actualizarea Composer

Pe Windows și macOS, tot ce trebuie să faceți pentru a face upgrade la cea mai recentă versiune a Composer este să rulați autoactualizarea compozitorului. Dacă sunteți pe Linux/Unix, va trebui să rulați sudo apt update && upgrade, astfel încât sistemul dvs. să verifice cele mai recente versiuni, apoi puteți rula auto-update compozitorului pentru a obține cea mai recentă versiune.

Acum că sunteți configurat, să aruncăm o privire la utilizarea Composer pentru a instala WordPress.

Instalați WordPress cu Composer

Dar dacă doriți să gestionați un întreg site cu Composer? În primul rând, trebuie să decideți dacă WordPress este dependența proiectului sau nucleul proiectului? Da, un pic de zguduire a creierului.

WordPress poate fi considerat o dependență a proiectului, deoarece scopul final pentru clienții tăi nu este să aibă WordPress instalat. Vor un magazin sau un blog și asta depinde de instalarea dvs. de WordPress. Aceasta este poziția pe care o adoptă un proiect precum Roots cu configurația WordPress Bedrock bazată pe Composer, numită Bedrock.

Utilizarea Bedrock înseamnă că nu trebuie să-i spuneți lui Composer despre WPackagist, deoarece este deja configurat. De aici vă recomand să începeți dacă doriți să gestionați un întreg site cu Composer.

Pentru a instala Bedrock, rulați următoarea comandă.

compozitor crea-proiect rădăcini/roca de bază

Acest lucru vă va oferi următoarea structură de fișiere.

├── compozitor.json

├── .env

├── config

│ ├── aplicație.php

│ └── medii

│ ├── dezvoltare.php

│ ├── montare.php

│ └── producție.php

├── vânzător

└── web

├── aplicație

│ ├── mu-plugins

│ ├── pluginuri

│ ├── teme

│ └── încărcări

├── wp-config.php

├── index.php

└── wp

Aceasta este foarte diferită de configurația standard WordPress. Pentru a începe, aveți fișierul composer.json la rădăcina instalării. Aici veți vedea configurația Composer.

Fișierul dvs. .env este locul în care puteți stoca diferitele configurații ale bazei de date. Acest lucru este necesar deoarece site-ul dvs. local și site-ul dvs. live vor avea parole și nume de utilizator diferite pentru bazele de date. Fișierul wp-config.php implicit va înțelege variabilele pe care le-ați introdus în fișierul dvs. .env, deoarece Bedrock folosește acele variabile în loc de codificare hard în informațiile de conectare la baza de date.

Fișierul dvs. .env ar trebui ignorat în depozitul dvs. Git. Când configurați un site nou, adăugați un nou fișier .env, cu informațiile necesare de configurare a bazei de date.

Există alte câteva variabile pe care trebuie să le configurați aici pentru a începe Bedrock, care sunt toate detaliate în documentația lor.

Sub folderul de configurare există diferite configurații implicite pentru mediile pe care le veți utiliza. În dezvoltare, acest lucru activează raportarea erorilor, iar în mediile dvs. de producție, se asigură că înregistrarea erorilor nu va interfera cu buna funcționare a site-ului dvs.

Cu Bedrock ca bază, acum puteți utiliza Composer pentru a vă instala pluginurile WordPress prin WPackagist.

WPackagist este o oglindă a temei WordPress și a depozitului de pluginuri. Acest lucru este necesar deoarece, implicit, majoritatea pluginurilor și temelor nu sunt disponibile pentru instalarea Composer. Oglinda adaugă fișierele necesare pentru fiecare plugin, astfel încât Composer să poată fi utilizat pentru a gestiona pluginurile.

Dacă doriți să instalați WooCommerce în instalarea WordPress bazată pe Bedrock, trebuie să solicitați mai întâi WooCommerce, compozitorul necesită wpackagist-plugin/woocommerce, apoi trebuie să îi spuneți lui Composer să instaleze dependențele, instalarea compozitorului.

Acum puteți merge în zona de administrare a instalării WordPress și puteți activa WooCommerce și puteți construi site-ul dvs. Pentru a actualiza WooCommerce când apare o nouă versiune sau pentru a actualiza WordPress, trebuie să rulați actualizarea compozitorului.

Aici un proiect bazat pe Composer poate avea câteva probleme. Dacă executați actualizările prin intermediul administratorului WordPress, atunci veți avea o nepotrivire între ceea ce se așteaptă Composer și ceea ce WordPress a instalat. Dacă intenționați să utilizați Composer, rămâneți să îl utilizați ca instrument de actualizare și nu funcționați prin intermediul administratorului WordPress.

Când ar trebui să folosiți Composer ?

Sunt sigur că mulți dintre voi vă întrebați de ce Composer este un instrument atât de grozav pentru dezvoltarea WordPress. WordPress nu a fost construit cu Composer în minte, așa că pentru a lucra cu el trebuie să treci prin niște cercuri pentru a-l face să funcționeze bine.

Pentru dezvoltatorii de pluginuri și teme, există un caz clar că Composer poate face mai ușor să se ocupe de dependențele pe care trebuie să le aduceți din ecosistemul PHP mai larg. Pentru dezvoltatorii WordPress, argumentul este mai puțin clar. Unii le place să folosească Composer pentru a-și gestiona întregul site, așa cum o face Roots. Acest lucru vă poate permite să aveți mai puține fișiere gestionate de Git, dar nu mi s-a părut niciodată un caz convingător.

Cazul care îmi place este că Composer poate face mai ușor să aibă diferite dependențe pentru diferite medii. Puteți utiliza apoi procesul de implementare pentru a implementa acele dependențe în mediile dvs. și nu trebuie să le gestionați manual.

În calitate de dezvoltator, trebuie să ții cont și de nevoile clientului tău. Dacă nu au o echipă de dezvoltare în preajmă care să gestioneze site-ul pe termen lung, atunci ei pot întâmpina probleme cu o instalare WordPress non-standard. În unele cazuri, gazdele lor le pot spune că asistența nu este disponibilă deoarece nu folosesc modul normal de instalare și utilizare WordPress. Când serviți clienții, trebuie întotdeauna să echilibrați tehnologia cool pe care o utilizați cu ceea ce poate face clientul pe termen lung.

Numai din acest motiv, nu folosesc Composer în proiectele mele complete de site. Clienții mei le vor gestiona zi de zi de ani de zile și nu vreau să pun bariere suplimentare. Amândoi ne dorim ca site-urile lor să funcționeze fără probleme în anii următori.

Dacă doriți să vă îmbunătățiți abilitățile PHP cu tehnologii moderne, atunci cu siguranță ar trebui să aruncați o privire la modul în care Composer se poate integra în fluxurile dvs. de lucru WordPress.