国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP7 new features manual / 其他語(yǔ)言層面的修改

其他語(yǔ)言層面的修改

其他語(yǔ)言層面的修改


一、在非兼容$this語(yǔ)境中以靜態(tài)方式調(diào)用非靜態(tài)方法將不再支持。

在非兼容$this語(yǔ)境中以靜態(tài)方式調(diào)用非靜態(tài)方法將不再支持。在這種場(chǎng)景下面,$this不會(huì)被定義,但調(diào)用還可以調(diào)用,但會(huì)有一個(gè)警告提示:

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

注意這種情況適用于在非兼容語(yǔ)境中調(diào)用。上面代碼的例子中class B和class A沒有關(guān)系,所以調(diào)用的時(shí)候$this是沒有定義的。

但如果class B是從class A繼承的話,該調(diào)用是合法的。

二、下面的這些保留字不能用作類名、接口名和trait名。

bool
int
float
string
null
false
true
下面這些關(guān)鍵字已經(jīng)被留作將來使用,目前可以使用,不會(huì)報(bào)錯(cuò),但不建議。
resourceobject
mixed
numeric

三、yield語(yǔ)法調(diào)整

在表達(dá)式里面使用yield語(yǔ)法結(jié)構(gòu)的時(shí)候,不再需要括號(hào)了。它現(xiàn)在是一個(gè)右關(guān)聯(lián)的操作符,優(yōu)先級(jí)介于"print"和"=>"操作符。在某些場(chǎng)景下面行為和之前會(huì)不一致。

echo yield -1;
echo (yield) - 1;  // 之前的語(yǔ)法解釋行為
echo yield (-1);   // 現(xiàn)在的語(yǔ)法解釋行為

yield $foo or die;
yield ($foo or die);  // 之前的語(yǔ)法解釋行為
(yield $foo) or die;  // 現(xiàn)在的語(yǔ)法解釋行為

可以通過括號(hào)來避免歧義。

備注:關(guān)于yield,大家可以參考鳥哥的這篇文章:http://www.laruence.com/2012/08/30/2738.html

四、其他的一些調(diào)整. 

移除了ASP格式的支持和腳本語(yǔ)法的支持:<% 和 <script language=php>

不再支持對(duì) new 的結(jié)果進(jìn)行引用賦值。(感謝Gazhikaba分享翻譯)

移除了在非兼容$this語(yǔ)境中對(duì)非靜態(tài)方法的作用域調(diào)用。參考資料:https://wiki.php.net/rfc/incompat_ctx. http://www.laruence.com/2012/06/14/2628.html

ini文件里面不再支持#開頭的注釋,使用;。

$HTTP_RAW_POST_DATA 變量被移除,使用php://input來代替。https://wiki.php.net/rfc/remove_alternative_php_tags