首頁  >  文章  >  PHP 7.4beta1發布:新棄用與錯誤修復

PHP 7.4beta1發布:新棄用與錯誤修復

藏色散人
藏色散人原創
2019-07-27 10:34:414080瀏覽

最近,PHP開發團隊對PHP 7.4的新棄價進行了投票,該補貼應該在11月底發布。現在第一個測試版已經發布,功能已修復。目前版本不僅提供了新選擇的Deprecations,還提供了一些BugFix。

PHP開發團隊發布了PHP 7.4的第一個beta版本。這決定了功能。 PHP 7.4beta1除了新的Deprecations之外還帶來了一些BugFix。我們正在研究新版本的變化。

PHP 7.4beta1有新的棄用

以前,PHP允許方形括號和花括號可互換使用,以存取陣列元素和字串偏移。來自PHP內部的PHP RFC的範例,用於說明:

$array = [1, 2];
echo $array[1]; // prints 2
echo $array{1}; // also prints 2

$string = "foo";
echo $string[0]; // prints "f"
echo $string{0}; // also prints "f"

這部分導致了混亂和問題。例如,花括號不能用於將元素寫入數組:

$array[] = 3;
echo $array[2]; // prints 3
 
$array{} = 3; // Parse error: syntax error, unexpected '}'

使用花括號語法也無法創建數組:

$array = [1, 2]; // works
 
$array = {1, 2}; // Parse error: syntax error, unexpected '{'

事實證明,它很難用於列表映射:

[$one, $two] = $array; // works
 
{$one, $two} = $array; // Parse error: syntax error, unexpected ','

因此,當使用已發布的beta版的數組或字串偏移量時,花括號語法現在標記為已棄用,因此不建議使用。

PHP 7.4beta 1帶來了PHP開發團隊上週投票的進一步棄用。其中所列的14種方法在PHP 7.4中已棄用:

真正的类型
魔术引用遗产
array_key_exists()包含对象
FILTER_SANITIZE_MAGIC_QUOTES过滤器
反射export()方法
mb_strrpos(),编码为第三个参数
implode()参数顺序组合
从非静态闭包中取消绑定$ this
hebrevc()函数
convert_cyr_string()函数
money_format()函数
ezmlm_hash()函数
restore_include_path()函数
allow_url_include ini指令

在PHP 7.4beta1中,不再建議使用所有提到的方法,最後在8.0版中刪除。

PHP 7.4beta1中的BugFix

#除了上面提到的棄用之外,beta版還準備了一些bug修復。根據發行說明,內建網路伺服器中存在Segmatation Fault。這個問題應該要透過這個beta來解決。

PHP透過CGI執行時出現了另一個問題。 PHP正在尋找一個shebang(#!)。如果第一行中有雜湊值,PHP不檢查以下是否是感嘆號,因此是雜湊值和感嘆號的組合(#!)。根據錯誤報告, PHP跳過相應的行並忽略了PHP程式碼。

Test script:
---------------
#<!--?php echo "Hello World\n"; ?-->
Second line.
 
Expected result:
----------------
X-Powered-By: PHP/5.3.3-7+squeeze3
Content-type: text/html
 
#Hello World
Second line.
 
Actual result:
--------------
X-Powered-By: PHP/5.3.3-7+squeeze3
Content-type: text/html
 
Second line.

此外,還有一個錯誤,PHP吞噬了程式的第一個位元組,如果它來自進程替換(Bug#78066)。第一個測試版修復了這個錯誤。有關當前版本的更多信息,請參閱發行說明。

Beta1之後是beta2

PHP 7.4計畫於11月28日發布。在第一個測試版發布後,PHP 7.4beta2將於2019年8月8日發布。 PHP 7.4的時間表可以在PHP wiki中找到。

本文翻譯自:https://entwickler.de/online/php/php-7-4beta1-deprecations-579902190.html

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn