PHP 7.4 – с много подобрения и повишена производителност

PHP версия 7.4 е последната версия от серията 7.x, преди следващата основна версия PHP 8.0.

PHP 7.4 се поддържа на всички сървъри при СуперХостинг.БГ.

В PHP 7.4 има много поправки, подобрения в синтаксиса на езика и оптимизации за по-добра производителност, които вече се приемат много положително от уеб разработчиците. В следващите редове ще Ви разкажем за най-интересните от тях.

Typed properties

Досега на свойствата (properties) на даден клас не можеше да се задава тип. От PHP 7.4 вече може. Това е голямо допълнение след версия 7.0, в която може да се указват както типовете на параметрите на дадена функция, така и на върнатия резултат.

// Преди PHP 7.4:

class MyClass{
     private $name;  
     private $size;  
     private $bar;
}

// PHP 7.4:

class MyClass{
     private string $name;  
     private int $size;  
     private Foo $bar;
}

Типовете, които могат да се задават, са всички налични в PHP, с изключение на void и callable.

Arrow functions

Arrow functions са нов начин да се пишат анонимни функции. 

Синтаксисът на една arrow функция е:

fn (параметри) => 'израз'

Анонимните функции нямат име и се вмъкват (inline) в кода. Те са „syntax sugar“ в езика – по-лесен и четим начин да се пишат closure функции. Характерно за тях е, че в arrow функцията разработчикът има достъп до всички променливи, дефинирани в областта, където тази функция се извиква.

Във всички PHP функции, които за параметър досега са приемали тип callable (т.е. параметърът да е функция), сега може да се използва arrow функция.

// Преди PHP 7.4:

$items = [1, 2, 3];
$multiplier = 2;

$doubledItems = array_map(function ($item) use ($multiplier) {
  return $item * $multiplier;
}, $items);

// PHP 7.4:

$items = [1, 2, 3];
$multiplier = 2;
$doubledItems = array_map(fn($item) => $item * $multiplier, $items);

Unpacking inside arrays

Unpacking inside arrays също е улеснение в езика, особено при работа с масиви.

Spread операторът „…“ (три точки), добавен в PHP в предишни версии (5.6), вече може да се използва и при дефинирането и конструирането на масиви в PHP 7.4.

Пример 1:

$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon']; // Резултат: ['banana', 'orange', 'apple', 'pear', 'watermelon'];

Пример 2:

$arr1 = [1, 2, 3];
$arr2 = [...$arr1]; //[1, 2, 3]
$arr3 = [0, ...$arr1]; //[0, 1, 2, 3]
$arr4 = array(...$arr1, ...$arr2, 111); //[1, 2, 3, 1, 2, 3, 111]
$arr5 = [...$arr1, ...$arr1]; //[1, 2, 3, 1, 2, 3]

Това улеснение при инициализацията на масиви води до по-голяма гъвкавост и по-кратък и четим код, в сравнение с традиционните начини, използвани досега – array_* функциите (като array_merge), или използването на цикли.

Preloading

Preloading (предварително компилиране на PHP файлове до байткод) е нова функционалност в PHP, която е част от OPcache.

Стандартно OPcache ще генерира байткод, при компилиране на PHP кода на PHP файл, за който е направена заявка за изпълнение. С новата функционалност към OPcache е възможно предварително да се зададат няколко PHP файла, които ще бъдат прочетени и компилирани до байткод. Предварителното зареждане ще се извърши със стартиране на PHP процеса, преди обработката на какъвто и да е друг PHP код.

Функциите и класовете в тези предварително заредени PHP файлове ще бъдат достъпни за следващите заявки така, сякаш са вградени в ядрото на самото PHP. Всички файлове, които не генерират output, може да се добавят за предварително зареждане като например файловете на различни популярни PHP frameworks като Laravel, Symphony и други.

Това предварително генериране на байткода на определени избрани PHP файлове ще допринесе за ускоряване на PHP приложенията и сайтовете.

WordPress и PHP 7.4

WordPress 5.4 е напълно съвместим с PHP 7.4. Преди да активирате PHP 7.4, уверете се, че сте обновили сайта до WordPress 5.4.

Активиране на PHP 7.4 с един клик в PHP Manager

В случай че използвате споделен хостинг или Managed VPS, можете да активирате PHP 7.4 за целия хостинг акаунт или за определена директория в него през контролния панел cPanel » PHP Manager by SuperHosting.

Преди да превключите към PHP 7.4 извършете проверка дали Вашият сайт, заедно с темата и плъгините, работят коректно с тази PHP версия. Ако активирате PHP 7.4 и забележите, че някоя функционалност в сайта не работи коректно, можете да превключите към предишната ползвана версия, през PHP Manager в cPanel.

Мадлена Методиева
Мадлена Методиева
Меган е част от екипа на СуперХостинг вече над 15 години. Създава съдържание, което е полезно, разбираемо и помага на клиентите да постигнат целите си онлайн.
5 1 vote
.
Абониране
Уведоми ме при
guest

0 Коментара
Inline Feedbacks
View all comments
Онлайн магазин? Направете първата стъпка

Oнлайн магазин? Направете първата стъпка [Аудио]

5
Искате да имате онлайн магазин? Ако отговорът е положителен, вижте първите стъпки, през които да преминете, за да изградите успешен онлайн бизнес.
3 стъпки за органично бизнес онлайн присъствие

3 стъпки за органично бизнес онлайн присъствие [Аудио]

2
Под „органично присъствие“ имаме предвид всички начини, чрез които потребителите могат да разберат за Вашия бизнес, без да плащате за позициониране (реклама).
11 мита за онлайн присъствието

11 мита за онлайн присъствието [Аудио]

2
Темата е: онлайн присъствие - от изграждането на сайт до неговото развитие и следователно развитието на Вашия бизнес. Разберете кой е първият мит за разбиване!