PHP 7 10 неща, които трябва да знаете
Вие сте уеб разработчик или собственик на уебсайт? Дали вашите сайтове работят на PHP-активирана CMS, като WordPress, Drupal, Joomla или Magento? Тогава имам добра новина за вас: пълната бета версия на новата Наскоро беше освободен PHP 7. Основната версия на 7.0.0 съдържа толкова много страхотни функции, че решихме да посветим цял пост на него. Но първо, трябва да се вмъкнем в няколко напомняния.
Имайте предвид, че PHP 7 е все още в фаза на разработка не го използвайте в производството до ноември, когато финална версия ще бъде издаден. Ако - като бъдещ потребител - искате да вземете справедливия си дял от процеса на разработка, можете да помогнете с изтеглянето на най-новата бета версия, да играете с нея във вашата тестова среда и да докладвате за грешки, които открихте по време на тестването. За да разберете кога ще излезе следващата бета, ето графикът на проекта.
С това от пътя, нека проверим PHP 7.
1. PHP 7 (не 6) на името
Настоящата стабилна версия използва номера на версията PHP 5.6. След известен спор екипът на разработчиците реши, че ще пропусне името PHP 6 за следващото голямо издание. PHP 6 вече е съществувал в миналото като експериментален проект, но никога не е достигнал фазата на производство.
За да попречи на потребителите да смесват предишния опит с последната разработка, новата основна версия ще се изпълнява под името PHP 7.
2. Марката „Пляскане” на новия Zend Engine
Двигателят Zend захранва PHP от 1999 г., когато е въведен с новата версия на PHP 4. Zend - да не се бърка със Zend Framework - е механизъм за изпълнение с отворен код, написан на С, който интерпретира езика на PHP. Сегашната серия PHP 5.X използва Zend Engine II което засилва функционалността на първоначалния двигател и добавя разширяем обективен модел и a значително подобрение на производителността на езика.
PHP 7 получава съвсем нова версия на двигателя под кодовото име на PHP # NG (Next Generation).
3. Два пъти скоростта
Най-лесно разпознаваемото предимство на новия PHPNG двигател е значителното подобрение на производителността. Екипът на PHPNG преработи Zend Engine и значително оптимизира използването на паметта.
Резултатите? По-долу можете да видите показателите за ефективност, предоставени от екипа за изпълнение на Zend. Чрез използването на PHP 7 не само Вашият код ще бъде изпълнен по-бързо но вие също нуждаят се от по-малко сървъри, за да обслужват едно и също количество потребители.
4. Улеснява обработката на грешки
Най-малкото, обработката на фатални и уловими фатални грешки никога не е била лесна задача за PHP кодерите. Новото Изключения от двигателя ще ви позволи да замените тези видове грешки с изключения. Ако изключението не бъде хванато, PHP ще продължи да връща същите фатални грешки, както в текущата 5.X серия.
Новото \ EngineException обекти не удължават \ Изключение Базов клас. Това осигурява обратна съвместимост и води до два различни вида изключения при обработката на грешки: традиционен и изключения на двигателя.
За да се даде възможност на програмистите да уловят и двете, PHP 7 въвежда ново споделен клас майка под името \ BaseException.
64-битова поддръжка на Windows системи
PHP е виден член на стека LAMP, което означава, че неговата собствена среда е Linux - но също така е възможно да се стартира на Windows система. Серията 5.X все още не осигурява 64-битова цялостна или голяма файлова поддръжка, така че досега са били взети под внимание x64 експериментален.
PHP 7 ще промени това като него въвежда последователна 64-битова поддръжка което означава, че ще се поддържат 64-битови цели числа и големи файлове, което ви позволява да управлявате уверено езика на вашата 64-битова Windows система в бъдеще..
6. Нови космически кораби и оператори на коопериране
Най- Оператор на космически кораб работи под официалното наименование на Комбинирания оператор за сравнение. Нотацията на новия оператор изглежда така: <=>
(подобно на опростен космически кораб, ако си го представите правилно).
Космическият оператор връща 0, ако двата операнда са еднакви, 1, ако лявата е по-голяма, и -1, ако дясната е по-голяма. Тя също се нарича a трипосочен оператор за сравнение, и вече съществува в други популярни програмни езици като Perl и Ruby.
Операторът Null Coalescing се обозначава с два въпросни знака (??). Можете да го използвате, когато искате да проверите дали нещо съществува и да върнете стойност по подразбиране, в случай че не съществува. Операторът за обединяване връща резултата от първия си операнд, ако той съществува и не е нула, а вторият операнд в други случаи.
Ето как новият оператор намалява времето, прекарано с основните декларации:
7. Активира точни декларации за типа
Искали ли сте някога да предотвратите неволни стойности за връщане, като декларирате типа на връщане на функция? Новият PHP 7 позволява на разработчиците да подобрят качеството на своя код с помощта на декларациите за връщане.
Изображението по-долу показва много прост случай на използване, при който Foo () функцията трябва да върне масив. Вижте по-сложни примери тук.
За да подобри още повече функцията, PHP 7 въвежда 4 нови декларации за типа за скаларни типове: int, float, string и булев. Новите скаларни типове позволяват на разработчиците да обозначат, че очакват да бъдат върнати цели числа, поплавъци, низове или булеви. Новите скаларни типове, въведени от PHP 7, също ще бъдат поддържани с аргумент Type Hints, който дава възможност на разработчиците да принуждават типа на параметрите от серията PHP 5.X.
8. Добавя анонимни класове
PHP 7 ви позволява да използвате анонимни класове, които вече са добре установена практика в други обектно-ориентирани езици като C # и Java. Анонимният клас е клас без име. Обектът, който създава, има същата функционалност като обект на име клас.
Синтаксисът е същият като този, с който сме свикнали в традиционните PHP класове, само името липсва. Ако анонимните класове се използват добре, те могат ускоряване на кодирането, както и време за изпълнение. Анонимните класове са отлични, когато един клас се използва само веднъж по време на изпълнение и в случаите, когато класът не трябва да бъде документиран.
9. Улеснява импортирането от едно и също пространство
Новата функция Декларации за групово ползване ще бъде богата на тези, които искат импортирате много класове от едно и също пространство. Новият синтаксис намалява многословността, прави кода по-чист и по-лесен за очите и ви спестява много време за писане.
Също така ще бъде по-лесно да се четат и дебъгват кодове, тъй като декларациите за групово ползване ви помагат да идентифицирате вноса, който принадлежи към същия модул.
10. Почиства стаята
Целта на PHP 7 беше да освободи пространството, за да се даде възможност за подобрение, така че беше необходимо да се отървем от много отхвърлени функции и стари и неподдържани API и разширения на сървъра. Ако искате да проверите кои са тези подробности, кликнете тук и тук.
Всички премахнати елементи са отхвърлени за известно време в PHP 5, така че най-вероятно не сте ги използвали дълго време. Имайте предвид обаче, че имате наследено приложение работи на по-стари версии на PHP новата PHP 7 може потенциално наруши кода.