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. |