PHP NYP modelinde yaplan değişiklikler burada sıralanmıştır. Bunlarla ilgili açıklamalar ve diğer bilgiler NYP belgeleri içindedir.
Sürüm: | Açıklama |
---|---|
8.1.0 | Eklendi: Sınıf sabitlerinin final olarak tanımlanması artık destekleniyor. Ayrıca, arayüz sabitleri artık öntanımlı olarak geçersiz kılınabiliyor. |
8.0.0 | Eklendi: null olabilen nesne yöntem ve özelliklerine erişim için Güvenli Null İşleci?-> desteği. |
7.4.0 | Değişti: __toString() içinde bir istisna yavrulamak artık mümkün. |
7.4.0 | Eklendi: Sınırlı dönüş türü farklılığı ve bağımsız değişken türü farklılığı desteği. Tam farklılık desteği yalnızca otomatik yükleme kullanılıyorsa kullanılabilir. Tek bir dosyanın içinde yalnızca dönüşümlü olmayan tür gönderimleri mümkündür. |
7.4.0 | Eklendi: Artık sınıf özelliklerini yazmak mümkün. |
7.3.0 | Uyumsuzluk: Traversable bağımsız değişkenlerine int olmayan anahtarlarla ulaşılması artık desteklenmiyor. Böyle bir davranış amaçlanmadığından kaldırıldı. |
7.3.0 | Uyumsuzluk: Önceki sürümlerde statik özellikleri bir gönderim atayarak ayırmak mümkündü. Bu kaldırıldı. |
7.3.0 | Değişti: instanceof işleci, sonucun daima false olduğu durumlarda, artık, ilk terim olarak değişmezlere izin veriyor. |
7.2.0 | Kullanımdan kalktı: spl_autoload_register() yararına __autoload() yöntemi kullanımdan kaldırıldı. |
7.2.0 | Değişti: object bir isim olarak sınıf, arayüz ve niteliklerin isimlendirilmesinde artık kullanılamıyor. |
7.2.0 | Değişti: İsim alanları için grup kullanım sözdiziminde arda bir virgül eklenebiliyor. |
7.2.0 | Değişti: Bağımsız değişken türü genişletmesi. Geçersiz kılınmış yöntemlerdeki ve arayüz gerçekleştirimlerindeki bağımsız değişken türleri artık çıkarıldı. |
7.2.0 | Değişti: Soyut bir sınıf başka bir soyut sınıfa genişletildiğinde soyut yöntemler artık geçersiz kılınabiliyor. |
7.1.0 | Değişti: void ve iterable bir isim olarak sınıf, arayüz ve niteliklerin isimlendirilmesinde artık kullanılamıyor. |
7.1.0 | Eklendi: Sınıf sabitlerinin görünürlüğünü belirtmek artık mümkün. |
7.0.0 | Kullanımdan kalktı: Statik yöntem çağrıları artık statik bildirilemiyor. |
7.0.0 | Kullanımdan kalktı: PHP 4 tarzı kurucu. Yani, tanımlandıkları sınıfın ismini alan yöntemler. |
7.0.0 | Eklendi: Gruplu use bildirimi: Aynı isim alanından ithal edilmiş sınıf, işlev ve sabitler tek bir use deyimi içinde birlikte gruplanabiliyor. |
7.0.0 | Eklendi: new class üzerinden anonim sınıf desteği eklendi. |
7.0.0 | Uyumsuzluk: Traversable olmayan nesneler üzerinden yineleme, artık, dizileri gönderimleri üzerinden yinelemeyle aynı davranış kalıbına sahip. |
7.0.0 | Değişti: Kullanılan iki niteliğin (uyumlu) özelliklerini tanımlamak artık bir hatayı tetiklemiyor. |
5.6.0 | Eklendi: __debugInfo() yöntemi. |
5.5.0 | Eklendi: ::class sihirli sabiti. |
5.5.0 | Eklendi: İstisnaları işlemek için finally bloğu. |
5.4.0 | Eklendi: Nitelikler. |
5.4.0 | Değişti: Eğer bir abstract sınıfı kurucu için bir imza tanımlıyorsa, o imza artık yürürlüğe konuyor. |
5.3.3 | Değişti: Bir isim alanlı sınıf adının son elemanı ile aynı isimdeki yöntemler artık kurucu olarak ele alınmıyor. Bu değişiklik isim alanlı olmayan sınıfları etkilemez. |
5.3.0 | Değişti: Prototipte öntanımlı değerlere sahip olan arayüzleri yöntemlerle gerçekleyen sınıfların artık arayüzün öntanımlı değeriyle eşleşmesi gerekmiyor. |
5.3.0 | Değişti: Sınıflara bir değişken kullanarak başvurmak artık mümkün (örn., echo $classname::constant; ). Değişkenin değeri bir anahtar sözcük olmamalıdır (örn., self , parent veya static ). |
5.3.0 | Değişti: Sihirli aşırı yükleme yöntemleri static bildirilirse E_WARNING seviyesinde bir hata oluşur. |
5.3.0 | Değişti: 5.3.0 öncesinde, __autoload() işlevinde yavrulanan istisnalar catch bloğunda yakalanamaz ve ölümcül hata oluşur. __autoload işlevinde yavrulanmayan istisnalar catch bloğunda tek bir önlemle yakalanabilir. Özel bir istisna yavrulanıyorsa bu özel istisna sınıfı mevcut olmalıdır. __autoload işlevi özel istisna sınıfını otomatik yüklemek için ardışık olarak kullanılabilir. |
5.3.0 | Eklendi: __callStatic yöntemi. |
5.3.0 | Eklendi: Sınıf const ve özellik tanımları için yorumlu ve yorumsuz metin desteği. Yorumlu değerlerin çift tırnaklı dizgelerin uyduğu kurallara uyması gerektiğini unutmayın (örn, değişken olmayanların içinde). |
5.3.0 | Eklendi: Statik İçselleştirim. |
5.3.0 | Eklendi: __invoke() yöntemi. |
5.2.0 | Değişti: __toString() yöntemi sadece echo veya print ile doğrudan birleştirilip çağrılabilirdi. Artık, herhangi bir string bağlamında (örn, %s seçenekli printf() içinde) çağrılabilir fakat diğer türlerin bağlamlarında (örn, %d seçeneği ile) çağrılamaz. PHP 5.2.0 itibariyle, nesnelerin __toString yöntemi olmaksızın dizgeye dönüştürülmesi E_RECOVERABLE_ERROR seviyesinde bir hataya sebep olur. PHP 5.2.0'dan itibaren, object türünü __toString yöntemi olmaksızın string türüne dönüştürmek E_RECOVERABLE_ERROR seviyesinde bir hatayı tetiklemektedir. |
5.1.3 | Değişti: PHP 5 öcesinde, var kullanımı önerilmezdi ve E_STRICT seviyesinde bir hataya sebep olurdu. Artık, önerilmeme durumu ortadan kalktığından bir hataya sebep olmuyor. |
5.1.0 | Değişti: __set_state() statik yöntemi artık var_export() ile ihracedilen sınıflar için çağrılabiliyor. |
5.1.0 | Eklendi: __isset() ve __unset() yöntemi. |