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.

Мадлена Методиева
Мадлена Методиева
Меган е част от СуперМаркетинг екипа. Мисията ѝ е старателно да попълва е-библиотеката на СуперХостинг.БГ с полезни и помощни статии.
5 1 vote
.
Абониране
Уведоми ме при
guest

0 Коментара
Inline Feedbacks
View all comments
6 причини защо малкият бизнес се нуждае от уебсайт

6 причини защо малкият бизнес се нуждае от уебсайт

0
Ако не искате само баба Ви и приятелките ѝ да са чували за Вас, помислете за собствен сайт. Даваме Ви 6 причини защо се нуждаете от силно интернет присъствие.
6 причини за съобщение Internal Server Error 500

6 причини за съобщение Internal Server Error 500 [Аудио]

11
Причините за генерирането на това съобщение може да са най-различни - некоректно изпълняващ се скрипт в сайта, некоректни права на файлове и директории и други
11 мита за онлайн присъствието

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

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