Որ տարում դուրս եկավ PHP 7-ը: Scalar տիպերի հայտարարություն

Արժե արդյոք տեղափոխվել PHP 7.0 նոր տարբերակ: - Միանշանակ կանգնած է, մի մտածեք նույնիսկ. Գնացեք:

Յոթերորդ վարկածում կան բավականին շատ նորամուծություններ: Հիմնականներն են.

  • phpng միջուկը հիմնված է phpng- ի վրա, Նոր միջուկը բարձրացում է տալիս արտադրողականության կայքերի 40% -ից;
  • Տեսակը ակնարկներ եւ վերադարձի արժեքներ, Այժմ յուրաքանչյուր փոփոխականի համար գործառույթ հայտարարելու ժամանակ կարող եք նշել ձեր տեսակը, ինչպես նաեւ տվյալների տեսակը, որը կվերադարձնի գործառույթը: Առկա տեսակներ. Int, Float, Tring եւ Bool;
  • Համեմատության համակցման օպերատոր Եվ շատ ավելին:

Որոշ ընդարձակումներ հանվեցին PHP 7-ում.

  • mysql

Արդեն PHP 5.6.x- ում այս ընդարձակման օգտագործումը անցանկալի էր: «MySQL» -ի փոխարեն օգտագործեք «PDO», եւ ereg → preg- ի փոխարեն:

Դուք կարող եք ավելի մանրամասն ծանոթանալ PHP 7 նորույթների հետ պաշտոնական էջում:

Պետք է գնամ PHP 7-ին:

Վրա այս պահին Ամենապարզ բանը, որ կարող եք անել, կայքի կատարողականը բարձրացնելու համար `PHP 7.0.x- ին գնալն է: Արագության շահույթը նույնպես կախված է նրանից, թե ինչպես է գրված ձեր նախագիծը: Եթե \u200b\u200bդեռ կասկածում եք, ցույց տվեք որոշ համեմատություններ.

Ելակետային PHP 5.6 vs PHP 7 Necto շրջանակների համար (Zend Framework, Magento, Drupal, MediaWiki, WordPress, Laravel, Sugarcrm եւ այլն):

Բոլոր շրջանակների համար էական է արտադրողականության աճը: Տեսնենք, թե որն է միջուկի գործառույթների եւ ձեւավորման գործառույթները.

Ելակետային PHP 5.6 vs PHP 7 Միջուկի գործառույթների եւ ձեւավորման համար.

Եթե \u200b\u200bգրաֆիկները ձեզ համոզեն, կարող եք փորձել ձեր կայքը փոխանցել PHP- ի նոր տարբերակին եւ զգալ իրական ծրագրի աճը:

ElasticWeb- ի հետ գործընկերները նշել են, որ PHP 7-ով նոր սերվեր սկսելուց առաջ նրանք սկսեցին խոշոր պետական \u200b\u200bնախագիծ, որը աշխատում էր Laravel 5-ի վրա: Դա մի տեսակ կատարողական քննություն էր: նոր տարբերակ PHP- ն եւ սերվերը որպես ամբողջություն: Նախկինում այս նախագիծը սերվերի վրա էր PHP 5.6-ով: Կայքը տեղափոխելուց հետո էջը սկսեց շատ ավելի արագ բացվել, մինչդեռ ռեսուրսների օգտագործումը կիսով չափ է:

Տեղափոխելու համար PHP 7-ին, նրանք օգտագործում էին PHP 7 արտագաղթի օգնականի զեկույցը (Մար): Հանրաճանաչ CMS- ի / շրջանակի մեծ մասը արդեն իսկ համատեղելիությունն ունի PHP 7-ի հետ, այնպես որ հիմնական խնդիրը կրճատվել է պատվերով հավելվածների փորձարկման համար:

WordPress 4, Drupal 8/7 եւ Վերջին տարբերակը Joomla- ն պատրաստ է PHP 7-ին:

Բարեւ!

Դեկտեմբերի 3-ը PHP 7 թողարկում էր: Մենք ձեզ համար փոխանցվել են նոր ապրանքների նկարագրությունը փաստաթղթերի էջից, http://php.net/manual/en/migration70.php. Սա առաջին մասն է:

SCARAR տիպերի հայտարարություն

Այժմ օգտագործվում են երկու տեսակի փոխակերպման ռեժիմներ, ենթադրյալ փոխարկում (հարկադրանքի) եւ բացահայտ (խիստ):

Տեսակները մատչելի են պարամետրերի համար.

  • Տողեր (լարային),
  • ամբողջ թվեր (int),
  • Լողացող հաղորդություն (բոց),
  • Բուլյան փոփոխականներ (Bool):

Սա լրացնում է PHP 5-ում նշված տվյալների տեսակը. Դասի անուններ, ինտերֆեյներ, զանգվածներ (զանգված) եւ «Զրուցարան»:

Արդյունք.

Ստեղծման խիստ ռեժիմը միացնելու համար ֆայլի սկզբում օգտագործեք հայտարարագրային հրահանգը.

Հայտարարել (strict_types \u003d 1)

Մատչելիության ռեժիմը վերաբերում է հատուկ ֆայլին: Խստորեն մուտքագրման հնարավորություն տալը ազդում է սկավառակի արժեքների, վերադարձի արժեքների, ներկառուցված PHP գործառույթների եւ երկարացման գործառույթների արդյունքի վրա:

Վերադարձված արժեքների տեսակների սահմանում

PHP 7-ում հնարավոր դարձավ հայտարարագրել վերադարձի արժեքի տեսակը: Սա ուղղակիորեն կապում է մուտքագրման նոր ռեժիմով. Խստորեն մուտքագրմամբ, վերադարձի արժեքները պետք է խստորեն համապատասխանեն նշված տիպին, հակառակ դեպքում բացառությունը կվերացվի Մուտք.

Վերադարձված արժեքների մի շարք նույնն է, ինչ փաստարկների համար:

Արդյունք.

Array (\u003d\u003e 6 \u003d\u003e 15 \u003d\u003e 24)

Միավորի օպերատորը զրոյական արժեքով

NULL (??) միավորման օպերատորը մուտքագրվում է օրենսգրքի ընթերցանությունը բարելավելու դեպքում, երբ սովորաբար օգտագործվում են եռագույն օպերատորը եւ թողարկիչը (): Օպերատորը վերադարձնում է առաջին օպերան, եթե փաստարկը սահմանվում է եւ հավասար չէ NULL- ին եւ երկրորդ օպերան ցանկացած այլ դեպքի:

Օպերատոր «տիեզերանավ»

Համեմատեք երկու արտահայտություններ, վերադառնալով -1, 0 եւ 1, երբ առաջին փաստարկը պակաս է, համապատասխանաբար, հավասար է երկրորդի կամ ավելին: Համեմատությունն արվում է PHP տիպերի սովորական համեմատության կանոնների միջոցով:

մեկը; // 0 echo 1<=> 2; // -1 echo 2<=> մեկը; // 1 // Լողացող կետ (float) echo 1.5<=> 1.5; // 0 echo 1.5<=> 2.5; // -1 echo 2.5<=> 1.5; // 1 // տողեր echo «a»<=> «Ա»; // 0 echo "a"<=> «Բ»; // -1 echo "b"<=> «Ա»; // 1?\u003e

Մշտական \u200b\u200bզանգվածների սահմանում ()

Մշտական \u200b\u200bզանգվածները կարելի է հայտարարել, օգտագործելով սահմանել (): 5.6 PHP- ում դրանք կարող էին սահմանվել միայն Const հրահանգի միջոցով:

Անանուն դասարաններ

Աջակցություն անանուն դասերի հայտարարության հետ Նոր դաս:, Սա կարող է օգտագործվել միանգամյա օգտագործման օբյեկտներ զարդարելու համար, առանց ամբողջ դաս գրելու:

Անտառահատում; ) Հասարակական գործառույթ Setlogger (Logger $ Lafger) ($ սա-\u003e Logger \u003d $ LOGGER;) $ App \u003d Նոր ծրագիր; $ Ծրագիր-\u003e Setlogger (հանրային գործառույթի տեղեկամատյան (լարային $ msg) (echo $ msg)); Var_dump ($ ծրագիր-\u003e Գետլոգեր ()); ?\u003e

Արդյունք.

Օբյեկտ ( [Email պաշտպանված])#2 (0) {}

Unicode Symbols Escape

Unicode խորհրդանիշները սահմանվում են Hexadecimal կոդով կրկնակի մեջբերումներով կամ հերդոկ-սահմանման տողով: Խորհրդանիշի կոդը թույլատրվելուց առաջ «0» մեկ կամ մի քանի թվանշան ավելացնելը:

Echo "\\ u (aa)"; Echo "\\ u (0000aa)"; Echo "\\ u (9999)";

Արդյունք.

ª ª // նույնը, ինչպես նախկինում, բայց ընտրովի առաջատար 0 "S 香

Փակում :: Զանգահարեք ()

Փակման մեթոդ :: Զանգը () ավելի արդյունավետ միջոց է `ժամանակավորապես կապելու օբյեկտի համատեքստը փակելու եւ դրա զանգին:

x;); $ getx \u003d $ getxcb-\u003e Bindto (նոր A, "A"); // ECHO $ \u200b\u200bGETX- ի միջանկյալ փակումը (); // PHP 7+ $ getx \u003d գործառույթ () (վերադարձեք $ այս-\u003e x;); Echo $ getx-\u003e զանգ (նոր ա);

Արդյունք.

Նորամուծությունները երկրորդ մասում են: Մնացեք մեզ հետ.

Գնացեք PHP 7.0 կամ սպասեք: Այսպիսով, մենք այնքան երկար մտածեցինք, կշռում էին, ձեւացնում էինք: Այնուամենայնիվ, երեկ եկավ այն պահը, երբ անհրաժեշտ էր արագ որոշում կայացնել

Դա պատահեց, որ որեւէ մեկի վարպետ վարպետը, ոչ sysadmin hiolegla, չի ցանկանում: Պորտալը սկսեց դանդաղեցնել ծանրաբեռնվածությունից: Գալիք այցելուները, ովքեր վճարել են փակ նյութեր եւ պարզապես այցելուներ, որոնք միաժամանակ փոստով փոստով փոստով փոստով փոստով փոստով փոստով փոստով փոստով փոստով, օգնություն չեն կարողանում աշխատել ադմինիստրատորի հետ եւ օգնություն ցուցաբերել մարդկանց

Արդյունքում, երեկոն կատարվեց PHP 5.6-ով `PHP 7.0-ում

Սերվերի հակիրճ բնութագրերը

  • ՕՀ. FreeBSD:
  • RAM: 5 GB
  • CPU: Xeon E5335 2.00ghz * 4 (միջուկ)

Քանի որ այն FreebSD է եւ միեւնույն ժամանակ պահում է մեկ PHP- ի մեկ տարբերակը հնարավոր չէ (փաստորեն, հնարավոր է, բայց դա պետք է ստացվի), որը տեւեց ընդամենը 40 րոպե եւ տեղադրեք PHP 7.0

Ի դեպ, մենք դեռեւս սերվեր ունենք Gentoo- ի վրա, որն առիթ է տալիս: Ներկայումս այնտեղ կա PHP 5.6, 7.0, 7.1. Բայց սա բառի մեջ է

Եվ դա այն է, ինչ մենք արեցինք: Եկեք նայենք ցերեկային գծապատկերները, որտեղ երեկվա օրը եւ հենց այսօր

Ինչը չի փոխվել

Ինչ փոխվեց

Այն, ինչ մենք բախվեցինք դժվարություններին

  • Ընթացիկ PHP 7.0- ում MIMCACE մոդուլ չկա: Ես պետք է ներբեռնեի երրորդ կողմի նավահանգիստը
  • Ոչ մի մոդուլ MySQL: Դրան պետք է պատրաստ լինել եւ նախապես կանխատեսել MySQLI- ի անցումային պլանը: Քիչ թե շատ ժամանակակից շրջանակներ աջակցում են MySQLi- ին
  • Եթե \u200b\u200bօգտագործում եք PECL-PDFLIB, պատրաստ կլինեք այն, ինչը չի գործի: Մենք օգտագործում ենք wkhtmltopdf:
  • Պորտալի մի մասը օգտագործեց MPDF: Այն չի գործում PHP 7.0-ի հետ: Տեղադրվել է թարմ կոմպոզիտորով
  • Անցկացրեց թեթեւ վերամշակման կոդ

Արտադիտակ

Նույն թվով պորտալի այցելուների դեպքում սերվերի վրա բեռը երկու անգամ ընկավ

Ալեքսանդր Սեւ

Համակարգի կառավարիչ

Ըստ որոշ ուսումնասիրությունների, դրա վրա գրված են բոլոր կայքերի մոտ 80% -ը: Եվ ամեն ինչ տարօրինակ չէ, քանի որ նույնիսկ այդպիսի ցանցային հսկաները Կապի հետ մի քանազոր Ֆեյսբուքստեղծվել են դրա օգնությամբ: Հանրաճանաչության մասին կարելի է նաեւ դատվել, քանի որ «» հայցը հայցվում է որոնիչներում շատ ավելի հաճախ, քան այլ լեզուներ: Այսպիսով, մեկ խնդրանք Հոստինգ Պերլ: Ողջունում է 150 – Վերոհիշյալը Հոստինգի PHP.

Լեզուն ստեղծվել է 1994 թվականին եւ ի սկզբանե գրությունների շարք էր: Ժամանակի ընթացքում սցենարները վերածվել են թարգմանչի, Ս.

PHP լեզվով հիմնական առանձնահատկությունները եւ առանձնահատկությունները.

  • Տարբեր վեբ սերվերների հետ աշխատելու ունակություն ( IIS);
  • Աշխատանքի ուսուցման եւ ճկունության հեշտությունը.
  • Աջակցություն տվյալների շտեմարանների համար - , MSSQL, Oracle, Postgre, MongoDB եւ ուրիշներ;
  • Հանրաճանաչ OS- ի համար կան համապատասխան PHP փաթեթներ, այսինքն Կարող եք կայքեր ստեղծել;
  • Համատեղելիություն առավել հյուրընկալող ծառայությունների հետտրամադրվում է մատակարարների կողմից: Դուք հեշտությամբ կարող եք տեղադրել ցանկացած հոստինգի վրա գրված կայքը: Ինչպես ապահովել PHP սերվերի վրա: Մեր խորհուրդը:
  • pHP- ն դեռ կանգ չի առնում եւ անընդհատ զարգանում է, ինչը ներգրավում է մշակողներին ամբողջ աշխարհից:

Ինչպիսի Տարբերակի PHP. Այս պահին արդիական են:

Right իշտ է համարվում 4-րդ եւ 5-րդ PHP- ի համապատասխան տարբերակները 4-րդ տարբերակն ունի իր ժողովրդականությունը եւ օգտագործվում է տարբեր վեբ ծրագրեր գրելու համար: PHP 5-ը ունի շատ լրացուցիչ հատկություններ, բայց, իր հերթին, լիովին համատեղելի չէ լեզվի չորրորդ տարբերակի հետ: հետեւաբար Որոշ ծրագրեր (գրված են PHP 4-ում) չի կարողանա աշխատել PHP 5 միջավայրում, Որպես լեզվի լեզվով լրացուցիչ գործիքներ հաճախ օգտագործվում են մոդուլներ: Օրինակ, հատուկ մոդուլներ մշակվել են գրաֆիկայի կամ մոդուլների հետ աշխատելու համար, որոնք իրականացնում են փոխազդեցություններ տարբեր տվյալների բազաներով:

Լեզվի 5-րդ տարբերակը մուտքագրելուց հետո բոլորը ակնկալում էին վեցերորդը: Բայց PHP 6-ը երբեք չկարողացավ իրականացնել իրեն, Unicod- ի աջակցության հետ կապված խնդիրների պատճառով, ուստի 2010-ին դադարեցվել է այս վարկածի զարգացումը եւ իրականացումը:

PHP 7-ը նոր տարբերակներով նոր տարբերակ է:

Ոչ այնքան վաղուց, Դեկտեմբերի 3, 2015 թԹողարկվել է հանրաճանաչ ծրագրավորման լեզվի նոր թողարկում -PHP 7.0.0 Դա տվեց PHP 7 սերիայի զարգացումը: Լեզուն արդեն հասցրել է նվաճել իր երկրպագուները գոյության քսանամյա պատմության համար: Ընդհանուր նպատակի գրերի լեզուն օգտագործվում է տարբեր վեբ ծրագրեր ստեղծելու համար, ներառյալ գրելու վճարովի եւ անվճար CMS: Օրինակ, Joomla!, Drupal, WordPress եւ TP.

Հետագա Խոսեք նոր PHP 7 հատկությունների մասին Եվ մենք դա պարզելու ենք, թե ինչու է մշակողները այդքան շատ սպասել նրան: Ի վերջո, չնայած այս լեզվի հաճախակի քննադատությանը, հյուրընկալող պրովայդերների մեծ մասը աջակցում է դրան, ներառյալ PHP- ի վերջին տարբերակները: Լեզուն առավելագույն պահանջված է օգտագործման չափանիշների վերաբերյալ: Նոր տարբերակը ըստ էության փորձարարական է եւ հիմնված է PHPNG- ի (PHP- ի հաջորդ սերնդի) վրա, արտադրողականության բարձրացման սկզբունքը հիմնված է հիշողության սպառման կրճատման վրա:

PHP 7 լեզուն նախատեսված է Zend Engine- ի նոր վարկածի հավելումով, Եթե \u200b\u200bայն համեմատեք 5.6-ի նախորդ տարբերակի հետ (որի նոր թողարկումը հայտնվեց նույն տարվա նոյեմբերին), ապա լեզվի վեբ մշակողները հիմնականում նշում են նոր տեխնոլոգիայի բարելավված կատարումը. PHP 7-ը կրկնապատկում է նախորդի կտորը.

Հաշվի առեք իրերը,Ինչ է առաջարկում PHP- ի նոր տարբերակը :

  • Լի Աջակցեք 64-բիթանոց համակարգեր;
  • Հիշողության օգտագործումը շատ կրճատվում է.
  • Ավելացված Վերացական շարֆերտի ֆունկցիոնալությունը;
  • Ճակատագրական սխալների մեծ մասը վերածվում է բացառությունների.
  • բարելավված բացառության հիերարխիան;
  • Պատահական գեներատոր Համարներն ավելի անվտանգ դարձան.
  • Անանուն դասեր;
  • Հանված հնացած սապիսը Sapi / Aolserver, Sapi / Apache Sapi / Apache_hooks, Sapi / Apache2Filter, Sapi / Caudium, Sapi / Isapi, Sapi / NSAPI, Sapi / Phttp, Sapi / Phttpd , Sapi / Tux, Sapi / Webjames, EXT / MSSQL եւ EXT / SYBASE_CT);
  • Դադարեցրեք դիզայներին աջակցելը PHP 4-ի ոճով, որում կոնստրուկտորը համընկնում է դասի անվան հետ.
  • Ստեղծված Մեթոդի փակումը :: Զանգահարեք ();
  • Բացի այդ, Openssl- ն կա Աջակցեք TLS երկարացման Alpn- ին (Դիմում-շերտի արձանագրության բանակցություններ) համապատասխանեցնել դիմումի մակարդակի արձանագրություններին, որոնք օգտագործվում են անվտանգ կապ ապահովելու համար: Կիրառվում է SPDY- ում եւ HTTP / 2;
  • Միության օպերատոր `զրոյականով: ;
  • Օգտագործման հայտարարության մեջ սահմանումների խմբավորում տրամադրելը (օրինակ, օգտագործեք DoctrineCommoncollectionsexpr (համեմատություն, արժեք, կոմպոզիացիա);) եւ շատ ավելին:

Ներբեռնեք եւ ծանոթացեք նոր PHP տարբերակի բոլոր առավելություններին Պաշտոնական էջՆաեւ կարող եք ներբեռնել միգրացիայի ուղեցույց: Նոր թողարկում - ոչ միայն PHP- ի հաջորդ տարբերակըեւ ծրագրավորման լեզուներով նոր ձեւի մշակման սկիզբը: Այն գործարկելու համար տեւեց երկու տարի նախանձախնդիր զարգացումներ, որոնք օգնեցին ստեղծել բարելավված արտադրանք:

Եթե \u200b\u200bփնտրում եք հուսալի 7-րդ տարբերակ , Կապվեք մեզ հետ ընկերություն Հիպեր հյուրընկալող:Մեր վիրտուալ հոստինգի սերվերները աջակցում են PHP 7. Հուսով ենք, որ նոր հնարավորություններ կգան ձեր ճաշակի վրա: Մենք, իր հերթին, ուրախ կլինենք օգնել:

7435 անգամ 1 Այսօր դիտվում է մեկ անգամ (ա)

PHP- ը ծրագրավորման լեզու է, որը հիմնականում օգտագործվում է վեբ զարգացման մեջ, որպես կանոն, հետեւի մասում: PHP- ն ունի բավականաչափ երկար պատմություն. Նրա առաջին վարկածը հայտնվեց ավելի քան 20 տարի առաջ, 1995 թ. Այս ընթացքում տրվել է 7 PHP վարկած, որոնցից վերջինը հայտնվեց 2015-ի դեկտեմբերին: Նրա մասին եւ կքննարկվի այս հոդվածում:

PHP 7.0- ի թողարկումը դարձավ առաջխաղացում, քանի որ այն հիմնված էր PHPNG - փորձարարական եւ ակտիվորեն զարգացող PHP նախագծի վրա, որի անունը գաղտնազերծվում է որպես «հաջորդ սերնդի PHP»: Այս տեխնոլոգիան կարող էր օգտագործվել PHP- ի նախորդ տարբերակներում, այնուամենայնիվ, դա PHP 7-ում էր, այն ներկայացվեց որպես հիմնարար: Երբ այն զարգացած է, նպատակը սահմանվել է բարձրացնել PHP- ի կատարումը, բայց ոչ թե համատեղելիությունը կորցնելով:

ZEND շարժիչ:

PHP 7-ը հիմնված է ZEND շարժիչի երրորդ վարկածի վրա, որում մշակվել է PHPNG նախագիծը:

Նորարարություններ

Նախեւառաջ, PHP 7-ում նորամուծությունները ազդել են ամենակարեւոր պարամետրերի դիմումների վրա `այս կատարողականի եւ հիշողության սպառումը:

Հիմնական փոփոխությունը, որում հիմնականում հիշատակվում է PHP 7-ի մասին խոսակցություններում, սա Կատարման բարելավումPHP 7 ցուցանիշները մոտավորվում են HHVM ցուցիչներից (մշակված է Facebook համակարգի կողմից, ինչը թույլ է տալիս մի քանի անգամ արագացնել PHP կոդի վերափոխումը): Դրա վերջին պատճառը չէ, որ «Զենթ տեխնոլոգիաների» համահիմնադիրը (PHP միջուկային ընկերություններ) Զեք Սուրասկին HHVM- ն համարում է զենդի մրցակիցներից մեկը: Իսկ PHP 7 Zend Technologies ընկերության եւ PHPNG հեղինակ DMITry Stans- ի առաջատար մշակողը վստահեցնում է, որ սինթետիկ փորձարկման Bench.php- ի PHP 5.0 եւ PHP 7-ի կատարման տարբերությունը 14 անգամ է: Գործնականում, օգտագործողների մեծամասնությունը հակված է հավատալ, որ PHP 7-ը մոտ երկու անգամ ավելի արագ է, քան նախորդ վարկածը:

HHVM- ն օգտագործում է այսպես կոչված JIT (արդար ժամանակ) կազմումը օրենսգրքի փոխակերպման համար. Չնայած այն հանգամանքին, որ 7 PHP- ի վարկածով JIT- ն չի հայտնվում, PHP 7-ը աջակցում է ավելի լավ միգրացիային , Այն արտադրողականության նոր մակարդակ է Դմիտրիի կեռը կարեւորում է որպես PHP 7-ի հիմնական հատկանիշ:

Կատարման բարելավումն է հաջողվել հասնել եւ շնորհիվ այն փաստի, որ կազմողը այժմ ստեղծում է ավելի տպավորիչ եւ կարճ բայթ կոդ:

Այժմ, չափազանց կարեւոր է մտածել օգտվողների մասին ոչ միայն ստացիոնար, այլեւ շարժական սարքերի մեջ, այնպես որ PHP 7-ի մշակողները բարելավեցին շարժիչի կատարումը եւ նվազեցված հիշողության սպառումը: Բացի այդ, PHP 7-ը թույլ է տալիս կատարել ասինխրոն առաջադրանքներ:

Ի դեպ, զարգացումը հաշվի է առել մոլորակի ռեսուրսների սպառման նվազեցման հանրաճանաչ միտումները, ուստի PHP 7-ը ունի Ավելի շատ երթեւեկություն վարելու ունակությունՕգտագործելով բոլոր նույն սերվերի ռեսուրսները:

Նոր հատկություններ

PHP 7-ում կան բազմաթիվ նոր հնարավորություններ, որոնցից յուրաքանչյուրը զարգացնում է ավելի հարմարավետ եւ պարզ: Հաջորդը դուք կարող եք ծանոթանալ դրանցից մի քանիսի հետ:

  • Երկու նոր բացառություններ (Բացառություն եւ սխալ) - Եթե նախորդ PHP տարբերակներում անհնար էր լուծել ճակատագրական սխալները, ապա նոր թողարկումում, այս արտանետվող բացառություններին, այսինքն, սցենարի ավարտը չի պատահի:
  • Անանուն դասարաններ - Այժմ PHP 7-ը աջակցում է այս տեսակի դասերի, որոնք հաճախ օգտագործվում են C ++ եւ Java- ում `հետադարձ կապի գործառույթներ կատարելու համար: Այս դասերը հիմնականում օգտագործվում են պարզ իրեր ստեղծելու համար.

setlogger (նոր անտառահատ ()); // PHP 7+ կոդ $ Util-\u003e Setlogger (Նոր դաս ($ MSG) (ECHO $ \u200b\u200bMSG;)));

Անանուն դասերը կարող են ներդրվել, բայց դրանք մատչելի չեն արտաքին դասի պաշտպանված կամ մասնավոր հատկություններ:

  • Նշելու ունակություն scalar տեսակները (Scalar Type ակնարկներ) - Նախորդ վարկածներում հնարավոր էր նշել ստացված արժեքների տեսակը. Այժմ կարող եք նաեւ նշել Scalar տեսակի տեսակները.

Շարքեր («լարային»), ամբողջ (`INT`), համարներ (` `լողալ`), քարի կտորներ («Bool»):

Այս նորամուծությունն ուղղված է ծածկագրի գրությունը հեշտացնելու եւ նրա ընթերցանության բարելավմանը: Բայց այս արժեքների օգտագործումը, որպես դասերի անուններ, կտրականապես արգելված է, քանի որ Սա կարող է հանգեցնել քննադատական \u200b\u200bսխալների:

  • Հիանալի օգտագործման ձեւավորում. Հնարավորությունը հայտնվեց PHP 7-ում Միավորել Օգտագործման խմբերի հայտարարագիրըԴա, անկասկած, դրականորեն կանդրադառնա ինչպես արագության, այնպես էլ կոդի ընկալման դեպքում.
  • Նոր օպերատորներ Null Coalescing օպերատոր (??) եւ Համեմատության համակցված օպերատոր: (<=>Նաեւ հայտնի է որպես տիեզերանավ օպերատոր) - այս երկու նոր օպերատորները, որոնք ոմանք վերաբերում են սինթետիկ շաքարավազի օգնությանը, գրեք ավելի հակիրճ եւ հասկանալի կոդ:

Null Coafescing Operator- ը միության օպերատոր է, որը ստուգում է, արդյոք փոփոխականը գոյություն ունի եւ վերադարձնում է դրա արժեքը (կամ լռելյայն արժեքը).

$ Action \u003d $ _post [«Գործողություն»] ?? "INDEX";

Համեմատության համեմատության օպերատորը համեմատության օպերատոր է, որը օգտակար է օգտագործման համար CALLBACK գործառույթների օգտագործման համար (): Այն համեմատում է երկու արժեք եւ, կախված արդյունքից, վերադառնում է -1, 0 կամ 1:

Գործառույթի կարգը_func ($ a, $ B) (վերադարձը $ a<=> $ B; )

Այս գործողության գերակայությունը հավասար է այլ համեմատական \u200b\u200bգործողությունների առաջնահերթություններին, եւ այն չի կարող կապված լինել նախորդ մարտահրավերի հետ, քանի որ Սա ոչ աբասնտիվ օպերատոր է:

  • Գործառույթ ՀԱՍՏԱՏԵԼ ()- PHP 7-ում այս գործառույթը մշակվում է հատուկ ձեւով `գլխավերեւում բացառելու համար. Դուք կարող եք օգտագործել այն կարգաբերման եւ հետագա անջատելու համար:
  • Ֆիլտրում չվճարվել () - Այս նորամուծությունը կապահովի օբյեկտների սերիալիզացման անվտանգությունը: Մշակողը կկարողանա որոշել, թե որ դասերը պետք է բուժվեն, եւ որոնք, ոչ:
  • Ներկայացուցչություն ամբողջ թվերը 64-բիթանոց տեսքով Windows X64- ի PHP- ում. Այժմ PHP- ն աջակցում է 64-բիթանոց հավաքույթներում 231 բայթից ավելի տողեր:
  • Գեներատորների պատվիրակություն - Օգնությամբ Բարդ գեներատորը կարելի է բաժանել մի քանի փոքրի: Մյուս այլ նորամուծությունների նման, այս նորամուծությունն ուղղված է վերօգտագործման համար մաքրող եւ հարմար կոդ գրելուն:
  • Նոր դասի տեսքը Intlchar: - Այն մեծացնում է գրադարանի առանձնահատկությունը `Unicode հավելվածների համար միջազգային բաղադրիչները տեղայնացնելու համար եւ ունի դասի մեթոդներ եւ կայսր, Unicode- ի հետ աշխատելու համար:
  • Զանգվածները սահմանելու հնարավորություն `որպես մշտական \u200b\u200bարժեքներ, որոնք հայտարարվում են սահմանման միջոցով ():
  • Վերապահված հիմնաբառեր նշանակելու ունակությունը մեթոդների անուններին:
  • PHP_INT_MIN արժեքների նոր նույնականացման նոր նույնականացման:

Ինչ վերաբերում է հին գործառույթներին, ապա բացառվել է առավել չհայտարարված առանձնահատկությունների մասը. Օրինակ, ASP- ի եւ սցենարի պիտակները հանվել են, ինչպես նաեւ պոզիքսի \u200b\u200bեւ երկարաձգման համար նախատեսված կանոնավոր արտահայտություններ:

PHP եւ վեբ սերվերներ

PHP- ն լայնորեն օգտագործվում է վեբ-վեբ ծրագրեր գրելիս, քանի որ Այս լեզուն համատեղելի է տարբեր վեբ սերվերների (Apache, Nginx, IIS), տվյալների բազաների (MySQL, Postgre, MongoDB եւ MongoDB եւ այլն), ինչպես նաեւ գործող համակարգեր:
Հետեւաբար, ավանդաբար նորամուծություններին շոշափում էին ոչ միայն լեզուն որպես ամբողջություն, այլեւ իր կուսակցությունների այն կողմերը, որոնք կապված են հյուրընկալման հետ:

Նախեւառաջ ներկայացվեց PHP 7-ը Վերացական շարահյուսության ծառ (AST) - վերացական շարահյուսական ծառ, որը կազմման գործընթացում միջանկյալ օղակ է: Այս մոդելի վրա է, որ Syntax- ի անալիզատորն այժմ հիմնադրված է: Դրա շնորհիվ այժմ կարող եք ստեղծել ավելի արդյունավետ գործառնական կոդ:

Մեկ այլ նորարարություն է Միատեսակ փոփոխական շարահյուսություն - Կենսականների համընդհանուր շարահյուսություն: Սա թույլ է տալիս, մի \u200b\u200bկողմից, լուծել որոշ անհամապատասխանություններ, որոնք կապված են փոփոխական արժեքների հաշվարկման հետ, բայց, մյուս կողմից, այն ստեղծում է ծածկագրի որոշ հազվադեպ օգտագործված մասեր վերաշարադրելու անհրաժեշտություն:

Եկեք եւս մեկ անգամ վերադառնանք PHP 7 ներկայացման բարձրացմանը. Բարոնելի է արտացոլել բոլոր հոստինգի գործառույթը, քանի որ նրանք կկարողանան բարձրացնել իրենց օգտագործողների թիվը, առանց սերվերների քանակի կամ այլ բարելավումների քանակի:

Ներկայացման բարելավման պատճառներից մեկը Ներքին տվյալների կառուցվածքի օպտիմիզացումԻնչը մեծապես բարելավել է հիշողության հետ աշխատելու գործընթացը:

Անհնար է չասել հետագա համատեղելիության որոշ հարցերի մասին, որոնք կարող են առաջանալ PHP 7. օրինակից հետո: Օրինակ, հնարավոր չէ օգտագործել մի քանի լռելյայն արտահայտություններ, քանի որ Հակառակ դեպքում դուք կտեսնեք սխալ: Այնուամենայնիվ, ընդհանուր առմամբ, այս խնդիրները աննշան են այդ նոր հնարավորությունների ֆոնին, որ PHP 7 առաջարկները:

Արտադիտակ

PHP 7 թողարկումը ոչ միայն նոր PHP տարբերակի թողարկումն է, այլ նոր մեկնարկային կետ `նոր սերնդի PHP- ի հետեւյալ PHP վարկածների համար: PHP 7 նորամուծությունների բազմության արդյունքները դարձան ավելի մաքուր, հարմար եւ հասկանալի ծածկագիր, զգալիորեն բարձրացնել արտադրողականությունը եւ շատ ավելին, որը կարող եք ինքնուրույն գնահատել, վիրտուալ սերվերը թարմացնելով PHP- ի յոթերորդ վարկածին: