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.4.0 | Eklendi: Özellik Kancaları için destek. | 
| 8.4.0 | Eklendi: Tembel Nesneler için destek. | 
| 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: nullolabilen 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 falseolduğ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: objectbir 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: voidveiterablebir
       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,parentveyastatic). | 
| 5.3.0 | Değişti: Sihirli aşırı
       yükleme yöntemleri static
       bildirilirse E_WARNINGseviyesinde 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. __autoloadiş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.__autoloadiş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, %sseçenekli
       printf() içinde) çağrılabilir fakat diğer türlerin
       bağlamlarında (örn,%dseçeneği ile) çağrılamaz.
       PHP 5.2.0 itibariyle, nesnelerin__toStringyöntemi
       olmaksızın dizgeye dönüştürülmesiE_RECOVERABLE_ERRORseviyesinde 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ürmekE_RECOVERABLE_ERRORseviyesinde bir hatayı tetiklemektedir. | 
| 5.1.3 | Değişti: PHP 5 öcesinde, varkullanımı önerilmezdi
       veE_STRICTseviyesinde 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. | 
