Jak korzystać z autoloadingu Composera w WordPressie
The article explains how to use Composer autoloading in WordPress to manage dependencies more efficiently. It outlines the setup process, including creating a composer.json file, installing packages, and integrating the autoloader into WordPress, improving code organization and performance.
Od czego zacząć i dlaczego jest to potrzebne?
Musisz zainstalować Composera lokalnie. Poniżej znajdziesz instrukcję krok po kroku:
W terminalu wykonaj polecenie:
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer -v
Jeśli zobaczysz taki wynik, oznacza to, że wszystko przebiegło pomyślnie.

Duże i średnie wtyczki lub motywy mają zwykle wiele plików i klas, które musimy dołączać za pomocą require, require_once lub include.
W rezultacie otrzymujemy ogromną listę zależności między plikami w functions.php lub głównym pliku wtyczki, która wygląda następująco:

Sześć miesięcy później, gdy otwierasz projekt i nie zostawiłeś komentarzy w kodzie, nie pamiętasz już, za co odpowiada dany plik i gdzie należy wprowadzić na przykład poprawkę lub naprawić błąd.
Dodawanie nowej funkcjonalności jest bardzo niewygodne, gdy za każdym razem trzeba dołączać kolejny plik (najważniejsze, żeby nie zapomnieć tego zrobić).
I tutaj z pomocą przychodzi Composer.
Krok pierwszy
Przejdź do katalogu głównego swojego motywu lub wtyczki i utwórz plik composer.json. Można to zrobić na kilka sposobów:
- W terminalu uruchamiamy polecenie
composer initi odpowiadamy na kilka pytań — Composer sam wygeneruje standardowy plik. - Utworzyć plik ręcznie.
Wybieram pierwszą opcję.
{
"name": "user/name_project",
"authors": [
{
"name": "iWPdev",
"email": "iw****@*****ok.com"
}
],
"require": {
}
}
Następnie musimy dodać obsługę autoloadingu oraz przestrzeń nazw dla naszych klas, a także kilka dodatkowych parametrów zapewniających standaryzację.
{
"name": "user/name_project",
"description": "",
"license": "GPL-2.0",
"keywords": [],
"homepage": "https://exemple.com/",
"type": "wordpress-plugin", // If it's a plugin and wordpress-themes if it's a theme
"authors": [
{
"name": "iWPdev",
"email": "iw****@*****ok.com"
}
],
"support": {
"issues": "https://exemple.com/"
},
"config": {
"platform": {
"php": "7.2.5"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"require": {},
"autoload": {
"psr-4": {
"iWPdev\\": "includes/",
"iWPdev\\Admin\\": " admin/",
}
}
}
Interesuje nas kod zapisany pogrubioną czcionką — wskazuje on Composerowi, skąd ma pobierać nasze pliki.
Struktura folderów wygląda następująco:
Root project
| ---- composer.json
| ---- includes
| ---- nameClass.php
| ---- admin
| ---- nameClass.php
W swoich projektach stosuję następującą strukturę:

Krok drugi
W terminalu wykonaj polecenie:
composer dump-autoload -o

Jeśli pracujesz w PHPStorm, wystarczy kliknąć przycisk Install lub Update w otwartym pliku composer.json.
Krok trzeci
Teraz wystarczy dołączyć jeden plik w functions.php lub głównym pliku naszej wtyczki:
require_once __DIR__ . '/vendor/autoload.php';
Od tej pory Composer robi wszystko za nas — automatycznie dołącza wszystkie pliki, gdy wykryje w naszym kodzie inicjalizację klasy. Dzięki temu nie musimy już pamiętać o ręcznym dołączaniu plików zawierających klasy!
Gotowy, aby wynieść swój projekt
na wyższy poziom?
Wprowadźmy Twoją wizję w życie dzięki profesjonalnemu tworzeniu stron i dedykowanym rozwiązaniom.
Skontaktuj się z nami już teraz i rozpocznijmy pracę nad przekształceniem Twoich pomysłów w rzeczywistość!