Pengubahsuaian peringkat bahasa lain


1 Memanggil kaedah bukan statik secara statik dalam konteks $ini yang tidak serasi tidak akan disokong lagi.

Memanggil kaedah bukan statik secara statik dalam konteks $ini yang tidak serasi tidak akan disokong lagi. Dalam senario ini, $ini tidak akan ditakrifkan, tetapi panggilan masih boleh dibuat, tetapi akan ada amaran:

class A {
  public function test() { var_dump($this); }
}

// Note: Does NOT extend A
class B {
  public function callNonStaticMethodOfA() { A::test(); }
}

(new B)->callNonStaticMethodOfA();

// Deprecated: Non-static method A::test() should not be called statically
// Notice: Undefined variable $this
NULL

Harap maklum bahawa situasi ini digunakan untuk panggilan dalam konteks yang tidak serasi. Dalam contoh kod di atas, kelas B dan kelas A tidak mempunyai hubungan, jadi $ini tidak ditakrifkan apabila dipanggil.

Tetapi jika kelas B mewarisi kelas A, panggilan itu sah.

2. Perkataan simpanan berikut tidak boleh digunakan sebagai nama kelas, nama antara muka dan nama sifat.

bool
int
float
string
null
false
true
Kata kunci berikut telah dikhaskan untuk kegunaan masa hadapan dan pada masa ini boleh digunakan tanpa ralat, tetapi tidak disyorkan.
resourceobject
mixed
numeric

3. Pelarasan sintaks hasil

Apabila menggunakan struktur sintaks hasil dalam ungkapan, kurungan tidak diperlukan lagi. Ia kini merupakan pengendali bersekutu kanan dengan keutamaan antara pengendali "cetak" dan "=>". Dalam sesetengah senario, tingkah laku akan menjadi tidak konsisten dengan sebelum ini.

echo yield -1;
echo (yield) - 1;  // 之前的语法解释行为
echo yield (-1);   // 现在的语法解释行为

yield $foo or die;
yield ($foo or die);  // 之前的语法解释行为
(yield $foo) or die;  // 现在的语法解释行为

Kekaburan boleh dielakkan dengan menggunakan tanda kurung.

Nota: Mengenai hasil, anda boleh merujuk artikel ini oleh Bird Brother: http://www.laruence.com/2012/08/30/2738.html

Empat pelarasan lain

Mengalih keluar sokongan format ASP dan sokongan sintaks skrip: <% dan <script language=php>

tidak lagi menyokong penugasan rujukan kepada hasil baharu. (Terima kasih kepada Gazhikaba kerana berkongsi terjemahan)

Mengalih keluar panggilan skop kepada kaedah bukan statik dalam konteks $ini yang tidak serasi. Bahan rujukan: https://wiki.php.net/rfc/incompat_ctx http://www.laruence.com/2012/06/14/2628.html

Fail ini tidak lagi menyokong komen bermula dengan #, gunakan ; .

Pembolehubah $HTTP_RAW_POST_DATA telah dialih keluar, sebaliknya gunakan php://input. https://wiki.php.net/rfc/remove_alternative_php_tags