რომელ წელს PHP 7 გამოვიდა. სკალარის ტიპების გამოცხადება

ღირს ახალი ვერსია PHP 7.0- ის ახალი ვერსია? - აუცილებლად დგას, არც კი ვფიქრობ - წავიდეთ!

მეშვიდე ვერსიაში საკმაოდ ბევრი ინოვაციაა. ძირითადი პირობაა:

  • phpng Kernel ეფუძნება PHPNG. ახალი ბირთვი 40% -დან პროდუქტიულობის ადგილებში ზრდის;
  • ტიპი მინიშნებები და დაბრუნების ღირებულებები. ახლა, როდესაც თითოეული ცვლადის ფუნქციის გამოცხადებისას შეგიძლიათ მიუთითოთ თქვენი ტიპი, ისევე როგორც მონაცემების ტიპი, რომელიც ფუნქციას დაუბრუნდება. ხელმისაწვდომი ტიპები: int, float, სიმებიანი და bool;
  • კომბინირებული შედარების ოპერატორი და უფრო მეტი.

ზოგიერთი გაგრძელება ამოიღეს PHP 7-ში:

  • mysql

უკვე PHP 5.6.X, ამ გაგრძელების გამოყენება არასასურველი იყო. ნაცვლად "MySQL", გამოიყენოთ "PDO", და ნაცვლად EREG → PREg.

თქვენ შეგიძლიათ გაეცნოთ უფრო დეტალურად PHP 7 სიახლეებს ოფიციალურ გვერდზე.

უნდა მივდივარ PHP 7?

Ზე ამ მომენტში მარტივი რამ, რაც შეგიძლიათ გააკეთოთ იმისათვის, რომ გაიზარდოს საიტის შესრულება PHP 7.0.X. სიჩქარის მოგება ასევე დამოკიდებულია იმაზე, თუ როგორ არის დაწერილი თქვენი პროექტი. თუ თქვენ ჯერ კიდევ ეჭვი, აჩვენე ზოგიერთი შედარებები:

ნიშნებჯმარკი PHP 5.6 vs PHP 7 Necto Frameworks- ისთვის (Zend Framework, Magento, Drupal, MediaWiki, WordPress, Laravel, Sugarcrm და ა.შ.):

ყველა ჩარჩოებისთვის, პროდუქტიულობის ზრდა მნიშვნელოვანია. მოდი ვნახოთ, რა არის საქმე კერნელის ფუნქციებისა და დიზაინით:

ნიშნებჯმარკი PHP 5.6 vs PHP 7 კერნელის ფუნქციებისა და დიზაინისთვის:

თუ გრაფიკები დარწმუნდით, თქვენ შეგიძლიათ სცადოთ თქვენი საიტი PHP- ის ახალი ვერსიისთვის და რეალური პროექტის ზრდა.

Elasticweb- ის კოლეგებს აცხადებდნენ, რომ PHP 7-ით ახალი სერვერის დაწყებამდე მათ დაიწყეს მსხვილი სახელმწიფო პროექტი, რომელიც მუშაობს Laravel 5. ეს იყო ერთგვარი შესრულების ტესტი. ახალი ვერსია PHP და სერვერი მთლიანად. ადრე, ეს პროექტი იყო სერვერზე PHP 5.6. საიტის გადაცემის შემდეგ, გვერდი უფრო სწრაფად გაიხსნა, ხოლო რესურსების გამოყენება განახლდა.

PHP 7-ში მოამზადოს, ისინი იყენებდნენ PHP 7 მიგრაციის ასისტენტ ანგარიშს (Mar). პოპულარული CMS / Framework- ის უმრავლესობა უკვე არსებობს PHP 7-ის თავსებადობა, ამიტომ მთავარი ამოცანა შემცირდა საბაჟო დანამატების შესამოწმებლად.

WordPress 4, Drupal 8/7 და უახლესი ვერსია Joomla მზად არის PHP 7!

გამარჯობა!

3 დეკემბერი იყო PHP 7 გათავისუფლება. ჩვენ გადაგიყვანეთ თქვენთვის ახალი პროდუქტების აღწერა დოკუმენტაციის გვერდზე http://php.net/manual/en/migration70.new-features.php. ეს არის პირველი ნაწილი.

სკალარის ტიპების გამოცხადება

ახლა ორი ტიპის კონვერტაციის რეჟიმი გამოიყენება: კონვერსია (იძულებითი) და აშკარა (მკაცრი).

ტიპები ხელმისაწვდომია პარამეტრებისთვის:

  • სიმები (სიმებიანი),
  • რიცხვები (int),
  • მცურავი ზიარება (Float),
  • ლოგიკური ცვლადები (bool).

ეს ავსებს PHP 5-ში მონაცემთა ტიპის მონაცემებს: კლასის სახელები, ინტერფეისები, მასივები (მასივი) და Callible.

შედეგი:

მკაცრი ფერთა რეჟიმის ჩართვა, გამოიყენეთ დეკლარირების დირექტივა ფაილის დასაწყისში:

გამოაცხადეთ (strict_types \u003d 1)

Typization რეჟიმი ვრცელდება კონკრეტულ ფაილზე. მკაცრი აკრეფის საშუალებით მოქმედებს სკალარული ღირებულებების გამომუშავება, დაბრუნების ღირებულებები, ჩანერგილი PHP ფუნქციები და გაფართოების ფუნქციები.

დაბრუნებული ღირებულებების ტიპების განმარტება

PHP 7-ში შესაძლებელი გახდა დაბრუნების ღირებულების ტიპი. ეს პირდაპირ კორელაციას ახდენს ახალი ფერთა რეჟიმით: მკაცრი აკრეფით, დაბრუნების ღირებულებები მკაცრად შეესაბამება მითითებულ ტიპს, წინააღმდეგ შემთხვევაში გამონაკლისი გაუქმდება TypeError.

დაბრუნებული ღირებულებების კომპლექტი იგივეა, რაც არგუმენტებს წარმოადგენს.

შედეგი:

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

გაერთიანების ოპერატორი null ღირებულებით

Unification ოპერატორი NULL (??) შევიდა კოდექსის წაკითხვის გასაუმჯობესებლად იმ შემთხვევაში, როდესაც ტერმინარი ოპერატორი და Isset () ჩვეულებრივ გამოიყენება. ოპერატორი პირველ ოპერატორს დააბრუნებს, თუ არგუმენტი განისაზღვრება და არ არის ტოლია NULL და მეორე ოპერატორი ნებისმიერ სხვა შემთხვევაში.

ოპერატორი "კოსმოსური"

შეადარეთ ორი გამონათქვამები, დაბრუნების -1, 0 და 1, როდესაც პირველი არგუმენტი ნაკლებია, შესაბამისად, შესაბამისად. შედარება ხდება PHP ტიპის ჩვეულებრივი შედარების წესების გამოყენებით.

ერთი; // 0 echo 1<=> 2; // -1 echo 2<=> ერთი; // 1 // Floating Point (Float) Echo 1.5<=> 1.5; // 0 echo 1.5<=> 2.5; // -1 echo 2.5<=> 1.5; // 1 // რიგები ეხო "ა"<=> "ა"; // 0 ეხო "A"<=> "ბ"; // -1 echo "B"<=> "ა"; // 1?\u003e

განმარტება მუდმივი მასივების განსაზღვრა ()

მუდმივი მასივები შეიძლება გამოცხადდეს (). PHP 5.6, მათ შეეძლოთ მხოლოდ განსაზღვრული გამოყენებით Const დირექტივა.

ანონიმური კლასები

ანონიმური კლასების გამოცხადების მხარდაჭერა ახალი კლასი.. ეს შეიძლება გამოყენებულ იქნას ერთჯერადი ობიექტების გაფორმების გარეშე.

logger; ) საჯარო ფუნქცია Setlogger (Logger $ Logger) ($ ეს-\u003e Logger \u003d $ logger;) $ app \u003d ახალი პროგრამა; $ App-\u003e setlogger (საჯარო ფუნქცია შესვლა (სიმებიანი $ msg) (echo $ msg)); Var_dump ($ app-\u003e Getlogger ()); ?\u003e.

შედეგი:

ობიექტი ( [Email protected])#2 (0) {}

Unicode სიმბოლოები გაქცევა

Unicode სიმბოლოები დადგენილია თექვსმეტი კოდით ორმაგი შეთავაზებით ან Herdoc-Definition String- ში. სიმბოლო კოდი დასაშვებია ერთი ან მეტი ციფრი "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 hyloada, არ სურს. პორტალი დაიწყო დატვირთვისგან. მცხოვრებ სტუმრებს, რომლებსაც დახურულ მასალებს მიუწვდებიან და სტუმრებს, რომლებიც ერთდროულად 100 კგ + პორტალი აბონენტებს, დახმარებას ვერ შეძლებენ ადეკვატურად მუშაობას და ხალხს დახმარებას გაუწევენ

შედეგად, საღამოს PHP 5.6 PHP 7.0- ზე

მოკლე მახასიათებლები სერვერის

  • OS: FreeBSD.
  • RAM: 5GB
  • CPU: XEON E5335 2.00GHz * 4 (კერნელი)

მას შემდეგ, რაც FreeBSD და ამავე დროს, ერთზე მეტი PHP ვერსია არ არის შესაძლებელი (ფაქტობრივად, შესაძლებელია, მაგრამ მას მოუწევს ეს), Downym იყო მხოლოდ 40 წუთი, რომელმაც PHP 5.6- ის დანგრევა და დააინსტალირეთ PHP 7.0

სხვათა შორის, ჩვენ ჯერ კიდევ გვაქვს სერვერზე Gentoo, რომელიც უზრუნველყოფს შესაძლებლობას. ამჟამად არსებობს PHP 5.6, 7.0, 7.1. მაგრამ ეს არის სიტყვა

და ეს არის ის, რაც ჩვენ გავაკეთეთ. მოდით შევხედოთ დღის ჩარტებში, სადაც გუშინდელი დღე, და დღეს დღეს

რა არ შეცვლილა

რა შეიცვალა

რა დაეცა სირთულეები

  • მიმდინარე PHP 7.0 არ არსებობს memcache მოდული. მე მქონდა ჩამოტვირთოთ მესამე მხარის პორტი
  • არ არის მოდული MySQL. ამისათვის თქვენ უნდა იყოს მზად და წინასწარ უნდა იყოს მიცემული გადასვლის გეგმა MySQLI. მეტ-ნაკლებად თანამედროვე ჩარჩოების მხარდაჭერა MySQLI
  • თუ თქვენ იყენებთ PECL-PDFlib- ს, თქვენ მზად იქნება ის, რაც არ იმუშავებს. ჩვენ ვიყენებთ wkhtmltopdf.
  • პორტალ ნაწილში გამოყენებული MPDF. ეს არ მუშაობს PHP 7.0. დამონტაჟებული ახალი კომპოზიტორი
  • ჩაატარა სინათლის რეაქტორის კოდი

პროდუქცია

იგივე რაოდენობის პორტალი სია, დატვირთვა სერვერზე დაეცა ორჯერ

ალექსანდრე შავი

Სისტემის ადმინისტრატორი

ზოგიერთი კვლევის მიხედვით, მასზე დაწერილი ყველა ობიექტის დაახლოებით 80%. და ეს არ არის ყველა უცნაური, რადგან კი ასეთი ქსელის გიგანტი, როგორც კონტაქტში და Facebookშეიქმნა დახმარებით. პოპულარობის შესახებ ასევე შეიძლება გაითვალისწინოს, რადგან მოთხოვნის "" საძიებო სისტემებში ბევრად უფრო ხშირად ითხოვენ სხვა ენებზე. ასე რომ ერთი მოთხოვნა ჰოსტინგი Perl. მიესალმება 150 – აღნიშნული აღნიშნული ჰოსტინგი PHP.

ენა შეიქმნა 1994 წელს და თავდაპირველად სკრიპტების კომპლექტი იყო. დროთა განმავლობაში, სკრიპტები თარჯიმანს გადაეცა S.

PHP ენის ძირითადი მახასიათებლები და თვისებები:

  • სხვადასხვა ვებ სერვერებთან მუშაობის უნარი ( IIS.);
  • სწავლისა და მოქნილობის გამარტივება;
  • მონაცემთა ბაზების მხარდაჭერა - , MSSQL, Oracle, Postgre, Mongodb და სხვა;
  • პოპულარული OS არსებობს შესაბამისი PHP პაკეტები, ანუ თქვენ შეგიძლიათ შექმნათ საიტები;
  • თავსებადობა ყველაზე ჰოსტინგის მომსახურებითგათვალისწინებული პროვაიდერები. თქვენ შეგიძლიათ მარტივად განათავსოთ საიტი PHP- ზე ნებისმიერ ჰოსტინგზე. როგორ უზრუნველყოს PHP სერვერზე? ჩვენი რჩევა.
  • pHP ჯერ კიდევ არ დგას და მუდმივად ვითარდება, რაც მთელს მსოფლიოში დეველოპერებს იზიდავს.

Რა სახის ვერსია PHP. შესაბამისია მომენტში?

მარჯვენა, იგი ითვლება PHP 4 და 5. ვერსია 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- ის ახალი ვერსიის დამატებით. თუ შევადარებთ 5.6-ის წინა ვერსიას (იმავე წლის ნოემბერში გამოჩნდა), მაშინ ვებ-გვერდის ვებ-დეველოპერები პირველ რიგში აღინიშნება ახალი ტექნოლოგიების გაუმჯობესებული შესრულების შესახებ: PHP 7 აორმაგებს წინამორბედის ბლოკს.

განვიხილოთ ნივთები,რა არის PHP- ის ახალი ვერსია :

  • სავსე მხარდაჭერა 64 ბიტიანი სისტემები;
  • მეხსიერების გამოყენება გაცილებით შემცირდა;
  • დამატებულია აბსტრაქტული სინტაქსის ფუნქციონირება;
  • ყველაზე ფატალური შეცდომები გარდაიქმნება გამონაკლისებზე;
  • გაუმჯობესებული გამონაკლისი იერარქია;
  • შემთხვევითი გენერატორი ნომრები გახდა უსაფრთხო;
  • ანონიმური კლასები;
  • ამოღებული მოძველებული Sapis SAPI / AOLSERVER, SAPI / APACHI / APACHI_HOOKS, SAPI / APACHE2FILTER, SAPI / CAUDIUM, SAPI / უწყვეტობა, SAPI / ISAPI, SAPI / NSAPI, SAPI / PI3WEB, SAPI / PI3WEB, SAPI / Roxen, SAPI / THTTPD , SAPI / TUX, SAPI / WEBJAMES, EXT / MSSQL და EXT / SYBASE_CT);
  • შეაჩერე დიზაინერის მხარდაჭერა PHP 4 სტილში, რომელშიც მშენებლობის სახელი ემთხვევა კლასის სახელს;
  • შესულა მეთოდი დახურვა :: ზარი ();
  • გარდა ამისა, OpenSSL არსებობს მხარდაჭერა TLS გაფართოების Alpn (განაცხადის ფენის პროტოკოლის მოლაპარაკება), რათა შეესაბამებოდეს განაცხადის დონის ოქმებს, რომლებიც გამოიყენება უსაფრთხო კავშირის უზრუნველსაყოფად. გამოიყენება SPDY და HTTP / 2;
  • კავშირის ოპერატორი null? ;
  • გამოყენების განცხადებაში განმარტებების დაჯგუფების უზრუნველყოფა (მაგალითად, გამოიყენეთ DoctrineCommonCollecletecteSexpr (შედარება, ღირებულება, კომპოზიქსი);) და ბევრად უფრო.

ჩამოტვირთეთ და გაეცანით ახალი PHP ვერსიის ყველა უპირატესობას Ოფიციალური გვერდიასევე შეგიძლიათ ჩამოტვირთოთ მიგრაციის სახელმძღვანელო. ახალი გათავისუფლება - არა მხოლოდ PHP- ის შემდეგი ვერსიადა პროგრამირების ენებზე ახალი გზების განვითარების დასაწყისი. დაიწყოს იგი, მან ორი წლის განმავლობაში გულმოდგინე მოვლენები, რომელიც დაეხმარა შექმნას გაუმჯობესებული პროდუქტი.

თუ თქვენ ეძებთ საიმედო მე -7 ვერსიას , დაგვიკავშირდით კომპანიაში ჰიპერ მასპინძელი.ჩვენი ვირტუალური ჰოსტინგის სერვერები მხარს უჭერენ PHP 7. ჩვენ ვიმედოვნებთ, რომ ახალი შესაძლებლობები თქვენს გემოვნებას მოვა. ჩვენ, თავის მხრივ, მოხარული იქნება, რათა დაეხმაროს!

7435 ჯერ 1 დღეს ერთხელ (ა)

PHP არის პროგრამირების ენა, რომელიც ძირითადად გამოიყენება ვებ-გვერდებზე, როგორც წესი, უკანა ნაწილში. PHP აქვს საკმარისად ხანგრძლივი ისტორია - მისი პირველი ვერსია 20 წლის წინ გამოჩნდა, 1995 წელს. ამ დროის განმავლობაში გაიცა 7 PHP ვერსიები, რომელთაგან 2015 წლის დეკემბერში გამოჩნდა. მის შესახებ და ამ სტატიაში განიხილება.

PHP 7.0- ის გათავისუფლება გახდა გარღვევა, რადგან იგი ეფუძნებოდა PHPNG- ის ექსპერიმენტულ და აქტიურად განვითარებას PHP პროექტის, რომლის სახელიც გაშიფრულია, როგორც "PHP შემდეგი თაობა" - "მომდევნო თაობის PHP". ეს ტექნოლოგია წინა PHP ვერსიებში შეიძლება გამოყენებულ იქნას, თუმცა, ეს იყო PHP 7-ში, ის ფუნდამენტურია. როდესაც იგი განვითარებულია, მიზანი იყო PHP- ის შესრულების გაზრდის მიზნით, მაგრამ არ შეესაბამება თავსებადობას.

Zend ძრავა.

PHP 7 ეფუძნება Zend Engine- ის მესამე ვერსიას, რომელშიც შეიქმნა PHPNG პროექტი.

ინოვაციები

უპირველეს ყოვლისა, PHP 7 ინოვაციებს შეეხო ყველაზე მნიშვნელოვან პარამეტრი განაცხადებს - ეს სპექტაკლი და მეხსიერების მოხმარება.

ძირითადი ცვლილება, რომელიც, პირველ რიგში, PHP 7-ის შესახებ საუბრობს შესრულების გაუმჯობესება: PHP 7 მაჩვენებლები მიახლოვებულია HHVM ინდიკატორებისთვის (Facebook- ის მიერ შემუშავებული, რომელიც საშუალებას გაძლევთ დააჩქაროს PHP კოდი ტრანსფორმაციის რამდენჯერმე). ამის შესახებ ბოლო მიზეზი არ იყო ის ფაქტი, რომ Zeev Suraski- ის თანადამფუძნებლის თანადამფუძნებელი იყო HHVM, როგორც Zend- ის ერთ-ერთი კონკურენტი. და წამყვანი დეველოპერი PHP 7 Zend Technologies კომპანია და Phpng ავტორი დიმიტრი Stans დარწმუნებულია, რომ განსხვავება PHP 5.0 და PHP 7 სინთეზური ტესტის Bench.php არის 14-ჯერ. პრაქტიკაში, მომხმარებლების უმრავლესობა მიჩნეულია, რომ PHP 7 დაახლოებით ორჯერ უფრო სწრაფია, ვიდრე წინა ვერსია.

HHVM იყენებს ე.წ. JIT- ს (უბრალოდ-in-time) კოდექსის კონვერტაციისთვის - მიუხედავად იმისა, რომ JIT 7 PHP ვერსიაში არ გამოჩნდება, PHP 7 მხარს უჭერს უკეთესი მიგრაციის, რომელიც საშუალებას გაძლევთ გააუმჯობესოს შესრულება დროს . ეს არის ახალი დონე პროდუქტიულობის დიმიტრი დასტის მაჩვენებლები, როგორც მთავარი ფუნქცია PHP 7.

შესრულების გაუმჯობესება მოახერხა მიღწევა და მადლობა იმ ფაქტს, რომ შემდგენელი ახლა უფრო სანახაობრივი და მოკლე ბატის კოდს ქმნის.

დღესდღეობით, ძალიან მნიშვნელოვანია, რომ მომხმარებელთა შესახებ არა მარტო სტაციონარული, არამედ მობილური მოწყობილობებით, ამიტომ PHP 7-ის დეველოპერებს გააუმჯობესეს ძრავის შესრულება და მეხსიერების მოხმარება და ასევე დასძინა მშობლიური ადგილობრივი შენახვის უნარი. გარდა ამისა, PHP 7 საშუალებას გაძლევთ ასინქრონული ამოცანების შესრულება.

სხვათა შორის, განვითარება გაითვალისწინოს პოპულარული ტენდენციები პლანეტის რესურსების მოხმარების შემცირებისას, ამიტომ PHP 7 აქვს მეტი ტრაფიკის მართვაყველა სერვერის რესურსების გამოყენებით.

ახალი ფუნქციები

PHP 7-ში ბევრი ახალი ფუნქციაა, რომელთაგან თითოეული ქმნის უფრო კომფორტულ და მარტივი განვითარებას. შემდეგ თქვენ შეგიძლიათ გაეცნოთ ზოგიერთ მათგანს.

  • ორი ახალი გამონაკლისი (გამონაკლისი და შეცდომა) - თუ წინა PHP ვერსიებში შეუძლებელი იყო ფატალური შეცდომების მოგვარება, მაშინ ახალი გათავისუფლებისას, ამ exit- ის გამონაკლისების წამყვანი ქმედებები, ანუ სკრიპტის დასრულება არ მოხდება.
  • ანონიმური კლასები - ახლა PHP 7 მხარს უჭერს ამ ტიპის კლასებს, რომლებიც ხშირად გამოიყენება C ++ და Java- ში Callback ფუნქციების შესასრულებლად. ეს კლასები ძირითადად გამოიყენება მარტივი ნივთების შესაქმნელად:

setlogger (ახალი Logger ()); / / PHP 7+ კოდი $ Util-\u003e Setlogger (ახალი კლასი ($ MSG) (echo $ msg;)));

ანონიმური კლასები შეიძლება ჩაიდინოს, მაგრამ ისინი არ იქნება ხელმისაწვდომი გარე კლასების დაცული ან კერძო თვისებები.

  • მიუთითოს უნარი სკალარული ტიპები (Scalar ტიპის მინიშნებები) - წინა ვერსიებში, შესაძლებელი იყო მიუთითოს მიღებული ღირებულებების ტიპი; ახლა თქვენ ასევე შეგიძლიათ მიუთითოთ სკალარული ტიპები:

რიგები (`სიმებიანი`), მთელი (` int`), ნომრები (`float`), ლოდებით (bool`).

ეს ინოვაცია მიზნად ისახავს კოდის წერილობით და გააუმჯობესოს მისი წაკითხვა. მაგრამ ამ ღირებულებების გამოყენება კლასების სახელები კატეგორიულად აკრძალულია, რადგან ეს შეიძლება გამოიწვიოს კრიტიკული შეცდომები.

  • შემოკლებით გამოყენების დიზაინი - შესაძლებლობა გამოჩნდა PHP 7 შეუთავსეთ გამოყენების ჯგუფების დეკლარაციასეს უდავოდ დადებითად იმოქმედებს როგორც სიჩქარით და კოდის აღქმაზე:
  • ახალი ოპერატორები Null coalescing ოპერატორი (??) და კომბინირებული შედარების ოპერატორი. (<=>ასევე, ის ცნობილია, როგორც კოსმოსური ოპერატორი) - ეს ორი ახალი ოპერატორი, რომელიც ზოგიერთი სინტაქსური შაქრის დახმარებას ითხოვს უფრო მოკლე და გასაგები კოდით.

Null Coalescing ოპერატორი არის კავშირის ოპერატორი, რომელიც ამოწმებს თუ არა ცვლადი არსებობს და დააბრუნებს მისი ღირებულება (ან ნაგულისხმევი მნიშვნელობა):

$ Action \u003d $ _post ["action"]? "ინდექსი";

კომბინირებული შედარების ოპერატორი შედარების ოპერატორია, რომელიც სასარგებლოა Callback- ის ფუნქციებში გამოყენებისათვის (). იგი ადარებს ორ ღირებულებას და, რაც დამოკიდებულია შედეგზე, ბრუნდება -1, 0 ან 1:

ფუნქცია Order_Func ($ A, $ B) (დაბრუნება $ A<=> $ B; )

ამ ოპერაციის პრიორიტეტი სხვა შედარების ოპერაციების პრიორიტეტებს უდრის და წინა გამოწვევასთან ასოცირდება, რადგან ეს არის არასამთავრობო abassociative ოპერატორი.

  • ფუნქციონირება ამტკიცებს ()- PHP 7-ში, ეს ფუნქცია დამუშავებულია ზედმეტად გამორიცხვაზე; თქვენ შეგიძლიათ გამოიყენოთ ეს debugging, და კიდევ გამორთვა.
  • ფილტტერატაცია unservialize () - ეს ინოვაცია უზრუნველყოფს ობიექტების სერიალიზაციის უსაფრთხოებას. დეველოპერი შეძლებს განსაზღვროს, რომელი კლასების მკურნალობა უნდა იყოს და არ არის.
  • გამოსახულება რიცხვები 64-ბიტიანი სახით In PHP 7 for Windows X64: ახლა PHP მხარს უჭერს სიმები უმეტეს 231 bytes 64 ბიტიანი ასამბლეებში.
  • გენერატორების დელეგაცია - დახმარებით კომპლექსური გენერატორი შეიძლება დაიყოს რამდენიმე პატარა. ზოგიერთი სხვა ინოვაციების მსგავსად, ეს ინოვაცია მიზნად ისახავს სუფთა და მოსახერხებელ კოდს.
  • ახალი კლასის გამოჩენა Intlchar. - ის ზრდის ბიბლიოთეკის ფუნქციას უნიკოდის აპლიკაციებისთვის საერთაშორისო კომპონენტების ლოკალიზებას და კლასების მეთოდებსა და Unicode- სთან ურთიერთობისას.
  • მასალის განსაზღვრის უნარი, როგორც მუდმივი ღირებულებები, რომლებიც განისაზღვრება ().
  • მეთოდების სახელებიდან დაცული საკვანძო სიტყვების მინიჭების უნარი.
  • მარტივი php_int_min ღირებულებების ახალი იდენტიფიკატორის გაჩენა.

რაც შეეხება ძველ ფუნქციებს, ყველაზე დაუჯერებელი თვისებების ნაწილი გამოირიცხა: მაგალითად, ASP და Script Tags ამოღებულ იქნა, ასევე რეგულარული გამონათქვამები POSIX- სთან და გაფართოების EXT / MYSQL- ით.

PHP და ვებ სერვერები

PHP ფართოდ გამოიყენება სხვადასხვა ვებ-პროგრამების წერისას, რადგან ეს ენა შეესაბამება სხვადასხვა ვებ სერვერებს (Apache, Nginx, IIS), მონაცემთა ბაზები (MySQL, Postgre, Mongodb და ა.შ.), ასევე ოპერაციული სისტემები.
აქედან გამომდინარე, ტრადიციულად ინოვაციები არა მარტო ენაზე იყო, არამედ მისი პარტიების მიერ, რომლებიც დაკავშირებულია მასპინძლობასთან.

უპირველეს ყოვლისა, PHP 7 შემოღებულ იქნა აბსტრაქტული სინტაქსის ხე (AST) - აბსტრაქტული სინტაქსის ხე, რომელიც შედგენილ პროცესში შუალედური ბმულია. ეს მოდელია, რომ სინტაქსის ანალიზატორი ახლა არის დაფუძნებული. ამის წყალობით, ახლა შეგიძლიათ შექმნათ უფრო პროდუქტიული ოპერაციული კოდი.

კიდევ ერთი ინოვაციაა ერთიანი ცვლადი სინტაქსი - უნივერსალური სინტაქსი ცვლადებისათვის. ეს საშუალებას იძლევა, ერთის მხრივ, ზოგიერთი შეუსაბამობის მოსაგვარებლად, რომლებიც დაკავშირებულია ცვლადი ღირებულებების გაანგარიშებით, მაგრამ, მეორეს მხრივ, ის ქმნის კოდის იშვიათად გამოყენებული ნაწილების გადაწერას.

მოდით დავუბრუნდეთ PHP 7 შესრულების ზრდას: ეს არის ხელსაყრელი, რომ აისახოს ყველა ჰოსტინგის ფუნქციონირება, რადგან მათ შეძლებენ თავიანთი მომხმარებლების რაოდენობის გაზრდას სერვერების ან სხვა გაუმჯობესების გარეშე.

შესრულების გაუმჯობესების ერთ-ერთი მიზეზი არის შიდა მონაცემების სტრუქტურის ოპტიმიზაციარა მნიშვნელოვნად გაუმჯობესდა მეხსიერების მუშაობის პროცესი.

შეუძლებელია არ ვთქვა, რომ PHP 7-ის გადართვისას შეიძლება მოხდეს, მაგალითად, შეუძლებელია რამდენიმე ნაგულისხმევი გამონათქვამების შეცვლა, რადგან წინააღმდეგ შემთხვევაში, თქვენ დაინახავთ შეცდომას. თუმცა, ზოგადად, ეს პრობლემები უმნიშვნელოა იმ ახალი ფუნქციების ფონზე, რომელიც PHP 7 სთავაზობს.

პროდუქცია

PHP 7 გათავისუფლება არ არის მხოლოდ ახალი PHP ვერსიის გათავისუფლება, მაგრამ ახალი თაობის შემდეგი PHP ვერსიების ზოგიერთი ამოსავალი წერტილი. PHP 7 ინოვაციების მრავალრიცხოვანი შედეგები გახდა სუფთა, მოსახერხებელი და გასაგები კოდი, მნიშვნელოვნად გაიზარდა პროდუქტიულობა და ბევრად უფრო მეტი, რომ თქვენ შეგიძლიათ დამოუკიდებლად შეაფასოთ ვირტუალური სერვერის განახლება PHP- ის მეშვიდე ვერსიას.