PHP 7 hangi yılda ortaya çıktı. Skaler türlerinin duyurusu

PHP 7.0'ın yeni bir versiyonuna taşınmaya değer mi? - Kesinlikle duruyor, düşünmedim bile - git!

Yedinci versiyonda oldukça fazla yenilik var. Ana'lar:

  • phpng çekirdeği phpng'ye dayanıyor. Yeni çekirdek, verimlilik alanlarında% 40'tan bir artış sağlar;
  • tip İpuçları ve İade Değerleri. Şimdi, her değişken için bir işlevi bildirirken, türünüzü ve işlevi de iade edecek verilerin türünü belirleyebilirsiniz. Mevcut tipler: int, şamandıra, dize ve bool;
  • kombine Karşılaştırma Operatörü ve daha fazlası.

PHP 7'de bazı uzantılar kaldırıldı:

  • mysql

Zaten PHP 5.6.x'de, bu uzantıların kullanımı istenmeyen idi. "MySQL" yerine, "PDO" kullanın ve EREG → PREG yerine.

Resmi sayfada PHP 7 yeniliklerle daha ayrıntılı bilgi alabilirsiniz.

PHP 7'ye gitmeli miyim?

Üzerinde şu an Sitenin performansını artırmak için yapabileceğiniz en basit şey PHP 7.0.x'e gitmektir. Hız kazancı ayrıca, projenizin nasıl yazıldığına da bağlıdır. Hala şüpheniz varsa, bazı karşılaştırmalar gösterin:

Kıyaslama PHP 5.6 vs PHP 7 Nekto çerçeveleri için (Zend Framework, Magento, Drupal, MediaWiki, WordPress, Laravel, Sugarcrm vb.):

Tüm çerçeveler için verimlilik artışı önemlidir. Bakalım, çekirdeğin işlevleri ve tasarımlarıyla ilgili durumun ne olduğunu görelim:

Kıyaslama PHP 5.6 vs PHP 7 Çekirdeğin işlevleri ve tasarımları için:

Grafikler sizi ikna ederse, sitenizi PHP'nin yeni sürümüne aktarmayı ve gerçek projedeki artışı deneyimlemeyi deneyebilirsiniz.

Elasticweb'li meslektaşlar, PHP 7 ile yeni bir sunucuya başlamadan önce, Laravel 5. üzerinde çalışan büyük bir devlet projesi başlattılar. Bir tür performans testi oldu. yeni sürüm PHP ve bir bütün olarak sunucu. Önceden, bu proje PHP 5.6 ile sunucudaydı. Siteyi aktardıktan sonra, sayfa çok daha hızlı açılmaya başlanırken, kaynakların kullanımı yarıya girmiştir.

PHP 7'ye taşınmayı hazırlamak için PHP 7 Geçiş Yardımcısı Raporu (MAR) kullandılar. Popüler CMS / Framework'un çoğu zaten PHP 7 ile uyumluluğa sahiptir, bu nedenle ana görev özel eklentileri test etmeye indirgenmiştir.

WordPress 4, Drupal 8/7 ve en son sürüm Joomla php 7 için hazır!

Merhaba!

3 Aralık, bir PHP 7 sürümüydü. Http://php.net/manual/en/Migration70.New-features.php dosyasındaki yeni ürünlerin açıklaması sizin için transfer edildi. Bu ilk kısım.

Skaler Türlerinin Duyurusu

Şimdi iki tür dönüşüm modu kullanılır: örtük dönüşüm (zorlayıcı) ve açık (sıkı).

Parametreler için türler mevcuttur:

  • dizeleri (string),
  • tamsayılar (int),
  • yüzen cemaat (şamandıra),
  • boole değişkenleri (BOOL).

Bu, PHP 5'te ayarlanan veri türünü tamamlar: sınıf adları, arayüzler, diziler (dizi) ve aralıklı.

Sonuç:

Sıkı yazma modunu etkinleştirmek için, Dosya Direktifini dosyanın başlangıcında kullanın:

Beyan (strict_types \u003d 1)

Tiplendirme modu belirli bir dosyaya uygulanır. Sıkı tipte etkinleştirmek, skaler değerlerin çıktısını, iade değerlerinin, gömülü PHP fonksiyonlarını ve uzatma fonksiyonlarını etkiler.

İade edilen değerlerin türlerinin tanımı

PHP 7'de, dönüş değerinin türünü bildirmek mümkün hale geldi. Bu doğrudan yeni bir yazma moduyla ilişkilidir: sıkı bir yazma ile, geri dönüş değerleri kesinlikle belirtilen türle eşleşmelidir, aksi takdirde istisna atılacak TypeError.

Bir dizi iade edilen değer türü argümanlar için aynıdır.

Sonuç:

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

Boş değerli birleşme operatörü

Null (??) olan birleşme operatörü, therary operatörü ve isset () genellikle kullanıldığında, kodun okunabilirliğini artırmak için girilir. Operatör, eğer argüman tanımlanırsa ve diğer durumlarda NULL ve ikinci operand'a eşit değilse ilk işleneni döndürür.

Operatör "uzay gemisi"

İlk argümanın ikinci, sırasıyla daha az, daha az, daha az, daha az veya daha fazlası olduğunda, iki ifadeyi karşılaştırın. Karşılaştırma, PHP tiplerinin olağan karşılaştırma kuralları kullanılarak yapılır.

bir; // 0 echo 1<=> 2; // -1 echo 2<=> bir; // 1 // Kayan nokta (şamandıra) Echo 1.5<=> 1.5; // 0 echo 1.5<=> 2.5; // -1 echo 2.5<=> 1.5; // 1 // satırlar echo "a"<=> "A"; // 0 echo "a"<=> "B"; // -1 Echo "B"<=> "A"; // 1?\u003e

Sabit dizilerin tanımı ()

Sabit diziler, tanımlama () kullanılarak ilan edilebilir. PHP 5.6'da, yalnızca Const Direktifi kullanılarak tanımlanabilirlerdi.

Anonim sınıflar

Anonim sınıfların duyurulması için destek yeni sınıf.. Bu, tek kullanımlık nesneleri bir sınıf yazmadan süslemek için kullanılabilir.

ağaç kesicisi; ) Kamu İşlevi SetLogger (Logger $ logger) ($ this-\u003e logger \u003d $ logger;)) $ App \u003d Yeni uygulama; $ App-\u003e SetLogger (Genel İşlev Günlüğü (Dize $ Msg) (ECHO $ \u200b\u200bMSG)); Var_dump ($ app-\u003e getlogger ()); ?\u003e.

Sonuç:

Nesne ( [E-posta Korumalı])#2 (0) {}

Unicode sembolleri kaçış

Unicode sembolleri, çift tırnak veya herdok-çözünürlüklü dizgede onaltılık kod ile ayarlanır. Sembol koduna izin verilmeden önce bir veya daha fazla rakam "0" eklenmesi.

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

Sonuç:

ª ª // daha önce olduğu gibi ancak isteğe bağlı lider 0 "s 香 ile

Kapanış :: Çağrı ()

Kapatma Yöntemi :: Call (), nesnenin kapanmasına ve çağrısına geçici olarak bağlamını geçici olarak bağlamak için daha verimli bir yoldur.

x;); $ GETX \u003d $ GETXCB-\u003e BINDTO (YENİ A, "A"); // Echo $ Getx () 'nin orta kapanması; // PHP 7+ $ GETX \u003d FUNCTION () () ($ 'ı döndürün-\u003e x;); Echo $ Getx-\u003e Çağrı (Yeni A);

Sonuç:

Yeniliklerin geri kalanı ikinci bölümdedir. Bizi izlemeye devam edin.

PHP 7.0'a gidin ya da bekleyin? Bu yüzden çok uzun, tartıldık, taklit etti. Ancak, dün bir karar vermenin gerekli olduğu an geldi.

Herkesin Master Master, Sysadmin HyloAla, istemiyor, istemiyordu. Portal yükten yavaşlamaya başladı. Kapalı malzemelere erişimi ödedi ve sadece 100k + portal abonelere gönderen ziyaretçilere erişim sağlayan ziyaretçiler, Helpdeske admin ile yeterince çalışamıyor ve insanlara yardım sağlayamıyor

Sonuç olarak, akşam PHP 7.0'da PHP 5.6 ile yapıldı.

Sunucunun kısa özellikleri

  • OS: FreeBSD.
  • RAM: 5GB
  • CPU: Xeon E5335 2.00GHz * 4 (Kernels)

FreeBSD olduğundan ve aynı zamanda birden fazla PHP sürümünün mümkün olmadığından (aslında, mümkündür, ancak bunları almak zorunda kalacak), DownyM, PHP 5.6'nın yıkılmasını ve yüklenmesini sağlayan sadece 40 dakika idi. PHP 7.0

Bu arada, hala bir fırsat sağlayan Gentoo'da bir sunucum var. Şu anda orada PHP 5.6, 7.0, 7.1. Ama bu kelimeye

Ve yaptığımız şey bu. Dünün Günü'nün olduğu gün grafiklere bakalım ve bugün sağda

Ne değişmedi

Ne değişti

Zorluklarla çarpıştık

  • Mevcut PHP 7.0'da Memcache modülü yoktur. Üçüncü taraf limanını indirmek zorunda kaldım
  • Hiçbir modül mysql. Buna, geçiş planını Mysqli'ye öngörmek için hazır olmalısınız. Az ya da çok modern çerçeveler Destek Mysqli
  • Pecl-Pdflib kullanıyorsanız, işe yaramayacaklarına hazır olacaksınız. WKHTMLTOPDF kullanıyoruz.
  • Portalın bir kısmı MPDF'yi kullandı. PHP 7.0 ile çalışmaz. Besteci ile taze monte
  • Bir ışık refactoring kodu yapıldı

Çıktı

Aynı sayıda portal ziyaretçiyle, sunucudaki yük iki kez düştü

Alexander Black

sistem yöneticisi

Bazı çalışmalara göre, tüm sitelerin yaklaşık% 80'i üzerine yazılmıştır. Ve hepsi garip değil, çünkü böyle ağ devleri bile Temas halinde ve Facebookonun yardımıyla yaratıldı. Popülerlik hakkında da değerlendirilebilir, çünkü "" arama motorlarında diğer dillerden çok daha sık talep edilmektedir. Yani bir istek hosting Perl. Selamlamak 150 – Adı geçen pHP barındırma.

Dil 1994 yılında oluşturuldu ve başlangıçta bir dizi komut dosyasıydı. Zamanla, komut dosyaları S'deki tercümana yeniden yapıldı.

PHP dilinin ana özellikleri ve özellikleri:

  • Çeşitli web sunucuları ile çalışabilme ( IIS.);
  • işte öğrenme ve esneklik kolaylığı;
  • veritabanlarına Destek - , MSSQL, Oracle, Postgre, MongoDB ve diğerleri;
  • popüler OS için uygun PHP paketleri var, yani siteler oluşturabilirsiniz;
  • en Hosting Hizmetleri ile Uyumluluksağlayıcılar tarafından sağlanır. Siteyi PHP'ye herhangi bir barındırma üzerine kolayca yerleştirebilirsiniz. Sunucuda PHP'yi nasıl koruyabilirsiniz? Bizim tavsiyemiz.
  • pHP, hala dünyanın dört bir yanından geliştiricileri çeken sürekli devam etmiyor.

Ne tür sürüm PHP. Şu anda alakalı mı?

Doğru şekilde, PHP 4 ve 5 sürümünün ilgili versiyonları olarak kabul edilir. 4. Versiyonun kendi popülaritesine sahip ve çeşitli web uygulamaları yazmak için kullanılır. PHP 5'in birçok ek özelliğine sahiptir, ancak sırayla, dilin dördüncü versiyonuyla tam olarak uyumlu değil. bu nedenle bazı programlar (PHP 4'te yazılı) PHP 5 ortamında çalışamayacak. Dilin diline ek araçlar genellikle modüller kullanılır. Örneğin, grafiklerle çalışmak için özel modüller veya farklı veritabanlarıyla etkileşimleri uygulayan modüller için geliştirilmiştir.

Dilin 5. versiyonunu girdikten sonra, herkes altıncı oldu. Ancak PHP 6, Unicod desteğiyle ilgili sorunlar nedeniyle kendisini asla uygulayamadı, bu yüzden 2010 yılında bu versiyonun geliştirilmesi ve uygulanması durduruldu.

PHP 7 yeni özelliklere sahip yeni bir versiyondur.

Kısa süre önce, 3 Aralık 2015, popüler bir programlama dilinin yeni bir sürümü piyasaya sürüldü -PHP 7.0.0 Bu, PHP 7 serisinin gelişimini verdi. Dil, yirmi yaşındaki varoluş öyküsü için fanlarını fethetmeyi başardı. Genel amaçlı komut dosyası dili, ücretli ve ücretsiz CMS yazmak de dahil olmak üzere çeşitli web uygulamaları oluşturmak için kullanılır. Örneğin, Joomla!, Drupal, WordPress ve TP.

Daha ileri yeni PHP 7 özellikleri hakkında konuşun Ve geliştiricilerin neden onu bu kadar beklediğini çözeceğiz. Sonuçta, bu dilin sık eleştirisine rağmen, çoğu barındırma sağlayıcıları en son PHP sürümleri de dahil olmak üzere onu destekliyor. Dil, kullanım kriterlerine en çok talep edilendir. Yeni sürüm esasen deneyseldir ve phpng (sonraki PHP üretimi) dayanarak, üretkenliği artırmanın prensibi, bellek tüketiminde bir azalmaya dayanır.

PHP 7 Dili, Zend Engine'in yeni sürümünün eklenmesi ile tasarlanmıştır.. Bunu 5.6'nın önceki sürümüyle karşılaştırırsanız (yeni sürümü aynı yılın kasım ayında ortaya çıkan), ardından dilin web geliştiricileri öncelikle yeni teknolojinin geliştirilmiş performansını not eder: PHP 7 selefinin yığınını iki katına çıkardı.

Öğeleri düşünün,pHP'nin yeni sürümü ne teklif ediyor? :

  • tam 64 bit destek sistemler;
  • hafıza kullanımı çok azaltılmıştır;
  • katma soyut sözdiziminin işlevselliği;
  • Ölümcül hataların çoğu istisnalara dönüştürülür;
  • gelişmiş istisna hiyerarşisi;
  • rastgele jeneratör Sayılar daha güvenli hale geldi;
  • anonim sınıflar;
  • eski Sapis kaldırıldı SAPI / AOLSERVER, SAPI / APACE SAPI / APACHE_HOOKS, SAPI / APACHE2Filter, SAPI / Kaudium, Sapi / Süreklilik, SAPI / ISAPI, SAPI / MILTER, SAPI / NSAPI, SAPI / PHTTPD, SAPI / PI3WEB, SAPI / ROXEN, SAPI / THTTPD , SAPI / TUX, SAPI / WebJames, EXT / MSSQL ve EXT / SYBASE_CT);
  • tasarımcıyı PHP 4 tarzında durdurun, burada yapıcının adının sınıf adı ile çakıştığı;
  • yaratılmış yöntem Kapanışı :: Çağrı ();
  • ek olarak OPENSSL var destek TLS Uzantısı ALPN (Uygulama Katmanı Protokolü Müzakeresi) Güvenli bir bağlantı sağlamak için kullanılan uygulama seviyesi protokollerini eşleştirmek için. SPDY ve HTTP / 2'de uygulanır;
  • null ile bir sendika operatörü ?? ;
  • kullanım beyanında tanımların bir gruplandırılması (örneğin, DoctrineComMoncollectionsexpr (karşılaştırma, değer, cosmociexpression);) ve çok daha fazlası.

Yeni PHP sürümünün tüm avantajlarıyla kendinizi indirin ve tanıdık resmi sayfaAyrıca orada geçiş kılavuzunu indirebilirsiniz. Yeni sürüm - PHP'nin bir sonraki sürümü değilve dilleri programlamada yeni bir yolun geliştirilmesinin başlangıcı. Başlatmak için, gelişmiş bir ürün yaratmasına yardımcı olan iki yıllık zello gelişmeleri sürdü.

Güvenilir 7. sürüm arıyorsanız , Şirket için bize ulaşın Hiper ev sahibi.sanal Hosting Sunucularımız PHP 7'yi destekliyor. Umarız yeni fırsatların zevkinize geleceğini umuyoruz. Sırayla yardım etmekten mutlu olacağız!

7435 kez 1 Bugün bir kez görüntülendi (a)

PHP, genel olarak web geliştirmede, bir kural olarak, arka uç kısımdaki bir programlama dilidir. PHP yeterince uzun bir geçmişe sahiptir - ilk versiyonu 1995 yılında 20 yıldan fazla bir süre önce ortaya çıktı. Bu süre zarfında, sonuncusu Aralık 2015'te ortaya çıkan 7 PHP versiyonu verildi. Onun hakkında ve bu makalede tartışılacak.

PHP 7.0'ın serbest bırakılması, phpng'ye dayandığı için, "PHP Sonraki Nesil" olarak şifresi çözülen, "bir sonraki nesil PHP" olarak şifresi çözülen phpng - deney ve aktif olarak geliştirilen bir atılım haline geldi. Bu teknoloji önceki PHP sürümlerinde kullanılabilir, ancak PHP 7'deydi, temel olarak tanıtıldı. Geliştirildiğinde, amaç PHP'nin performansını artırmak için ayarlandı, ancak uyumluluk kaybetmedi.

Zend motoru.

PHP 7, PHPNG projesinin geliştirildiği Zend Motorunun üçüncü versiyonuna dayanır.

Yenilikler

Her şeyden önce, PHP 7'deki yenilikler en önemli parametre uygulamalarını etkiledi - bu performans ve bellek tüketimi.

Öncelikle PHP 7 ile ilgili konuşmada belirtilen ana değişiklik, bu performans iyileştirme: PHP 7 göstergeleri, HHVM göstergelerine yaklaşır (Facebook sistemi tarafından geliştirilmiştir; bu, PHP kodu dönüşümünü birkaç kez hızlandırmanıza olanak sağlar). Bunun son nedeni, Zend Technologies'in kurucunun (PHP çekirdeği şirketleri) Zeev Suraski'nin HHVM'yi Zend'in rakiplerinden biri olarak gördüğü gerçeğiydi. PHP 7 Zend Technologies Şirketi ve PHPNG Yazar Dmitry Stans'ın önde gelen geliştiricisi, PHP 5.0 ve PHP 7'nin performansındaki farkın sentetik test tezgahı üzerindeki performansının 14 katı olduğunu garanti eder. Uygulamada, çoğu kullanıcı PHP 7'nin önceki sürümden yaklaşık iki kat daha hızlı olduğuna inanmaya meyillidir.

HHVM, kod dönüştürme için JIT (tam zamanlı) derlemesini (tam zamanında) kullanır - 7 PHP sürümündeki JIT'in görünmediği gerçeğine rağmen, PHP 7, zaman zaman performansı iyileştirmenize izin veren daha iyi bir geçişi desteklemektedir. . PHP 7'nin ana özelliği olarak yeni bir verimlilik düzeyi Dmitry yığını vurgularıdır.

Performans Gelişimi, derleyicinin şimdi daha muhteşem ve kısa bir bayt kodu üretmesi için başarılı olmayı başardı.

Günümüzde, yalnızca sabit, aynı zamanda mobil cihazlarda da kullanıcılar hakkında düşünmek son derece önemlidir, bu nedenle PHP 7'nin geliştiricileri, motor performansını ve azaltılmış bellek tüketimini arttırdılar ve ayrıca yerel bir yerel depolama alma yeteneğini de ekledi. Ek olarak, PHP 7, asenkron görevleri gerçekleştirmenize olanak sağlar.

Bu arada, gelişme, gezegenin kaynaklarının tüketimini azaltmada popüler eğilimleri dikkate aldı, bu yüzden PHP 7 daha fazla trafik yapabilmeTüm sunucu kaynaklarını kullanarak.

Yeni özellikler

PHP 7'de, her biri daha rahat ve basit bir gelişmeyi sağlayan birçok yeni özellik var. Sonra bazıları ile tanışabilirsiniz.

  • İki yeni istisna (İstisna ve Hata) - Önceki PHP sürümlerinde, ölümcül hataları, daha sonra yeni bir sürümde, bu yayıcı istisnalara yol açan eylemin, yani komut dosyasının tamamlanması olmaz.
  • Anonim sınıflar - Şimdi PHP 7, C ++ ve Java'da geri arama işlevlerini gerçekleştirmek için kullanılan bu tür sınıfları destekler. Bu sınıflar çoğunlukla basit ürünler oluşturmak için kullanılır:

setlogger (yeni logger ()); // PHP 7+ Kod $ Util-\u003e SetLogger (Yeni Sınıf ($ msg) (ECHO $ \u200b\u200bMSG;)));

Anonim sınıflar yatırılabilir, ancak dış sınıfın korunması veya özel özellikleri mevcut olmayacaktır.

  • Belirtme yeteneği skaler türleri (Skaler Tipi İpuçları) - Önceki sürümlerde, alınan değerlerin türünü belirtmek mümkündü; Şimdi skaler türlerini de belirtebilirsiniz:

Satırlar (`string`), bütün (` int`), sayılar (`float`), kayalar (` bool`).

Bu yenilik, kodun yazılmasını kolaylaştırmayı ve okunabilirliğini geliştirmeyi amaçlamaktadır. Ancak, bu değerlerin sınıfların isimleri olarak kullanılması kategorik olarak yasaktır, çünkü Bu, kritik hatalara yol açabilir.

  • Kısaltılmış kullanım tasarımı - PHP 7'de ortaya çıkan fırsat kullanım Grupları Beyannamesini BirleştirinKuşkusuz, hem hızlarda hem de kod algısında olumlu bir şekilde etkilenecek:
  • Yeni operatörler Null birleştirici operatör (??) ve Kombine karşılaştırma operatörü. (<=>Ayrıca, uzay gemisi operatörü olarak bilinir) - Bazıları sözdizimsel şekere atıfta bulunan iki yeni operatör daha özlü ve anlaşılır bir kod yazmaya yardımcı olur.

Null Coalescing Operator, değişkenin var olup olmadığını kontrol eden ve değerini (veya varsayılan değer) iade edip etmediğini kontrol eden bir sendika operatörüdür:

$ Eylem \u003d $ _POST ["eylem"] ?? "Dizin";

Kombine karşılaştırma operatörü, USORT () için geri çağırma işlevlerinde kullanım için yararlı olan bir karşılaştırma operatörüdür. İki değeri karşılaştırır ve sonuca bağlı olarak, -1, 0 veya 1 döndürür:

İşlev Order_Func ($ a, $ b) ($ a döndür<=> $ B; )

Bu işlemin önceliği, diğer karşılaştırma işlemlerinin önceliklerine eşittir ve önceki zorlukla ilişkilendirilemez, çünkü Bu, abassosyal olmayan bir operatördür.

  • İşlev Assert ()- PHP 7'de, bu fonksiyon ek yükünü dışlamak için özel bir şekilde işlenir; Hata ayıklama için kullanabilirsiniz ve daha da devre dışı bırakabilirsiniz.
  • Filtreleme denetlenecek () - Bu yenilik, nesnelerin serileştirilmesinin güvenliğini sağlayacaktır. Geliştirici, hangi sınıfların tedavi edilmesi gerektiğini belirleyebilecek ve bunlar değil.
  • Temsil 64-bit şeklinde tamsayılar Windows X64 için PHP 7'de: Şimdi PHP, 64 bitlik düzeneklerinde 231 bayttan daha uzun dizeleri destekler.
  • Jeneratörlerin delegasyonu - Yardımla Kompleks jeneratör, birkaç daha küçük bölünebilir. Bazı diğer yenilikler gibi, bu yenilik, yeniden kullanım için daha temiz ve kullanışlı bir kod yazmayı amaçlamaktadır.
  • Yeni bir sınıfın görünümü İntlchar. - Unicode uygulamaları için uluslararası bileşenleri yerelleştirmek için ayarlanan kütüphane özelliğini arttırır ve bir sınıf yöntemine ve Unicode ile çalışmak için bir kondlamaya sahiptir.
  • Dizileri tanımlayan () olarak bildirilen sabit değerler olarak dizileri tanımlayabilme.
  • Ayrılmış anahtar kelimeleri yöntemlerin adlarına atama yeteneği.
  • Basit bir PHP_INT_MIN değerlerinin yeni bir tanımının ortaya çıkması.

Eski fonksiyonlara gelince, en belirsiz özelliklerin bir kısmı hariç tutuldu: örneğin, ASP ve komut dosyası etiketleri çıkarıldı ve ayrıca POSIX ve EXT / MYSQL ile uyumlu normal ifadeler.

PHP ve Web Sunucuları

PHP, çeşitli Web uygulamaları yazarken yaygın olarak kullanılır, çünkü Bu dil, çeşitli web sunucuları (Apache, Nginx, IIS), veritabanları (MySQL, Postgre, MongoDB, vb.) Ve işletim sistemleriyle uyumludur.
Bu nedenle, geleneksel olarak yenilikler sadece bir bütün olarak değil, aynı zamanda barındırma ile ilişkili olan taraflarından da dokunuldu.

Her şeyden önce, PHP 7 tanıtıldı Soyut sözdizimi ağacı (AST) - Derleme sürecinde ara bağlantı olan soyut bir sözdizimi ağacı. Bir sözdizimi analiz cihazının şimdi kurulduğu bu modelde. Bunun sayesinde şimdi daha üretken bir işletim kodu oluşturabilirsiniz.

Başka bir yenilik Tek tip değişken sözdizimi - Değişkenler için evrensel sözdizimi. Bu, bir yandan, değişken değerlerin hesaplanmasıyla ilişkili bazı tutarsızlıkların bir kısmını çözmenizi sağlar, ancak diğer taraftan, kodun bazı nadiren parçalarını yeniden yazma ihtiyacını oluşturur.

PHP 7 performansındaki bir artışa bir kez daha geri dönelim: Tüm barındırmanın işlevselliğini yansıtmak için uygundur, çünkü kullanıcılarının sayısını, sunucu sayısını veya diğer iyileştirmelerden artırmadan artırabileceklerdir.

Performansı iyileştirme nedenlerinden biri İç verilerin yapısının optimizasyonuHafıza ile çalışma sürecini büyük ölçüde geliştirdi.

PHP 7'ye geçerken ortaya çıkabilecek bazı geriye doğru uyumluluk sorunları hakkında söylememek imkansızdır, örneğin, anahtardaki birkaç varsayılan ifadeyi kullanmak mümkün değildir, çünkü Aksi takdirde bir hata göreceksiniz. Bununla birlikte, genel olarak, bu sorunlar PHP 7'nin teklif ettiği yeni özelliklerin geçmişine karşı önemsizdir.

Çıktı

PHP 7 sürümü sadece yeni PHP sürümünün serbest bırakılması değil, yeni nesilin aşağıdaki PHP sürümleri için belirli bir başlangıç \u200b\u200bnoktasıdır. Çok sayıda PHP 7 yenilikçiliğinin sonuçları, daha temiz, uygun ve anlaşılır bir kod haline geldi, önemli ölçüde arttırılabilir ve daha fazla üretkenliği ve sanal sunucuyu PHP'nin yedinci versiyonuna güncelleyerek bağımsız olarak değerlendirebilirsiniz.