Programiści PHP w głosowaniu zaaprobowali obsługę nowej metody "wstępnego ładowania" kodu w następnej wersji PHP 7.4. Preload w języku PHP pozwala na ładowanie kodu PHP do serwera WWW, który działa tak długo, jak długo działa serwer www. Wstępnie załadowany kod napisany przez developerów w PHP będzie zawsze dostępny i gotowy na każde kolejne żądanie, co w niektórych przypadkach znacznie przyspieszy działanie aplikacji sieciowych napisanych w języku PHP.
Obecna wersja języka PHP od dawna obsługuje buforowanie (cache) w celu uniknięcia ponownego ładowania kodu aplikacji PHP przy każdym nowym żądaniu. Dotychczas używano jednego z wielu możliwych rozwiązań buforowania np.: APC, Turck MMCache, Zend OpCache.
Zastosowane obecnie rozwiązania cache'owania mają swoje wady w postaci konieczności sprawdzenia przy każdym żądaniu czy kod aplikacji nie został od czasu zbudowania cache zmieniony oraz ponownie powiązać zależności klas i wykonać inne zadania.
Nowy mechanizm Preload w PHP pozwala "wstępnie załadować" określone funkcje / klasy, które przetrwają tak długo, jak długo serwer WWW jest aktywny. Skutecznie umożliwia ładowanie funkcji lub całych / częściowych frameworków, które będą następnie obecne dla każdego nowego żądania, tak jakby były wbudowanymi funkcjami w serwerze. Ten poziom buforowania / wstępnego ładowania pozwala wyeliminować wiele zadań związanych z danym żądaniem dostępu do aplikacji, prowadzi to do znacznego wzrostu wydajności aplikacji napisanych w PHP. Niestety są też wady nowej funkcjonalności. Zmiana dowolnego fragmentu kodu aplikacji nie będzie widoczna aż do czasu restartu przez administratora serwera WWW.
Testy wykonane przy użyciu nowego rozwiązania - preload w PHP pokazują w niektórych przypadkach wzrost wydajności i szybkości nawet do 50%. Rzeczywisty wpływ na wydajność będzie zależeć od ilości kodu, który ma być i może być wstępnie załadowany. Najnowsza funkcjonalność będzie udostępniona wraz z najnowszym PHP w wersji 7.4.
Polecamy zapoznanie się z bardzo ciekawym filmem na YouTube omawiającym nowe możliwości dla programistów w PHP 7.4:
New Feature in PHP 7.4 | Typed Properties 2.0 RFC
Więcej szczegółów na ten temat preload w PHP znajduje się na stronach Wiki projektu.