✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Po co zawracać sobie głowę automatycznym ładowaniem w WordPressie, część 3

23

W ostatnim poście powiedziałem, że nie stać nas na niektóre z tych samych luksusów, które mają statycznie pisane, skompilowane języki. W szczególności mówiłem o pomyśle, aby nie mieć do czynienia z autoloaderami.

Zamiast tego języki skompilowane mogą pobierać wszystkie pliki składające się na program, przetwarzać je i pakować w jeden plik binarny.

Ale żeby to zrobić, potrzebuje do tego specjalnego programu.

Automatyczne ładowanie w WordPress: Linkery i Autoloadery

Oznacza to, że używa narzędzia o nazwie linker. Omówię to krótko, ale zobaczenie roli, jaką odgrywa w kontekście języków kompilowanych, może pomóc w narysowaniu analogii do tego, jak działa automatyczne ładowanie w WordPress (i PHP).

Co to jest łącznik?

W zależności od języka, z którym pracujesz, zwłaszcza w przypadku języków programowania obiektowego, prawdopodobnie kod będzie rozłożony na wiele plików.

Co więcej, każdy z tych plików zostanie dołączony do ich pakietów (nazywamy je przestrzeniami nazw jako PHP i większość języków kompilowanych również robi to samo). Tak więc dla celów demonstracyjnych załóżmy, że pliki są zawarte w ich przestrzeniach nazw.

Następnie, w całym kodzie, masz wszystkie te pliki, które są powiązane poprzez przestrzenie nazw, ale są rozłożone w osobnych plikach.

Kiedy przychodzi czas na skompilowanie tego wszystkiego w jeden wykonywalny plik binarny, program zwany linkerem analizuje kod i działa magicznie, aby pomóc w stworzeniu pojedynczego, wykonywalnego pliku binarnego (w przeciwieństwie do zbioru plików, do których przywykliśmy projekty oparte na PHP).

A automatyczne ładowanie?

Jakie są więc podobieństwa między automatycznym ładowaniem a linkowaniem? Jak wspomniano, projekty, które budujemy w WordPressie (i PHP) konsekwentnie znajdują się w osobnych plikach. Oznacza to, że nigdy nie zostaną skompilowane do jednego pliku.

Powiedziałbym, że kiedyś (chociaż to się nadal zdarza), używamy include_once lub require_once, aby wprowadzić wszystkie potrzebne nam zależności. Ale automatyczne ładowanie neguje potrzebę zrobienia tego.

Po co zawracać sobie głowę automatycznym ładowaniem w WordPressie, część 3

Ręczne pisanie autoloadera (bez użycia PSR4).

Zamiast tego autoloader może pobrać kod, który mamy, gdy, powiedzmy, tworzymy instancję klasy, a następnie automatycznie ładuje (stąd jego nazwa) plik bez konieczności ręcznego dołączania pliku.

Analogia

Podczas gdy linker przeanalizuje bazę kodu programu i automatycznie złoży plik binarny, autoloader będzie potrzebował pewnego rodzaju konfiguracji, aby poinformować go, gdzie znajdują się klasy, jak zlokalizować plik w systemie plików, biorąc pod uwagę jego przestrzeń nazw i nazwę klasy, oraz wkrótce.

Co więcej, można to zrobić na różne sposoby, w zależności od tego, czy zdecydujesz się użyć czegoś takiego jak PSR-4, czy innej strategii ładowania. Ale to wykracza poza zakres tego postu.

Otóż ​​to

Ideą tego wszystkiego jest zrozumienie, w jaki sposób języki statycznie typowane, które są często – choć nie zawsze – językami skompilowanymi, oraz jak typowane dynamicznie – często nieskompilowane (pomyśl o JavaScript, PHP itp.) – mogą działać w podobnym, aczkolwiek różne sposoby.

W skrócie:

  • języki skompilowane używają linkerów,
  • języki dynamiczne używają autoloaderów.

I to wszystko, naprawdę.

Ale dlaczego jest to ważne? Aby zrozumieć korzyści płynące z automatycznego ładowania w WordPressie i mieć podstawy do bardziej zaawansowanych tematów, uważam, że ważne jest, aby zrozumieć, jak i dlaczego robimy pewne rzeczy, które robimy.

A jeśli nic więcej, może nam pomóc być lepszymi programistami.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów