不帶引號的字符串是不存在的全局常量,轉(zhuǎn)化成他們自身的字符串。
在以前,該行為會產(chǎn)生
E_NOTICE
,但現(xiàn)在會產(chǎn)生
E_WARNING
。在下一個 PHP 主版本中,將拋出
Error 異常。
<?php
var_dump(NONEXISTENT);
/* Output:
Warning: Use of undefined constant NONEXISTENT - assumed 'NONEXISTENT' (this will throw an Error in a future version of PHP) in %s on line %d
string(11) "NONEXISTENT"
*/
GD 擴展內(nèi)的 png2wbmp() 和 jpeg2wbmp() 現(xiàn)已被廢棄,將在下一個 PHP 主版本中移除。
INTL_IDNA_VARIANT_2003
轉(zhuǎn)化
Intl 擴展廢棄了
INTL_IDNA_VARIANT_2003
轉(zhuǎn)化,為idn_to_ascii() 和
idn_to_utf8() 的默認(rèn)選項。
PHP 7.4 會把默認(rèn)值設(shè)置為
INTL_IDNA_VARIANT_UTS46
,
并在下一個 PHP 主版本中完全移除 INTL_IDNA_VARIANT_2003
。
__autoload() 方法已被廢棄, 因為和 spl_autoload_register() 相比功能較差 (因為無法鏈?zhǔn)教幚矶鄠€ autoloader), 而且也無法在兩種 autoloading 樣式中配合使用。
track_errors
ini 設(shè)置和 $php_errormsg
變量
當(dāng)開啟了 track_errors
ini 設(shè)置,出現(xiàn)非致命錯誤時,
會在本地作用域創(chuàng)建 $php_errormsg
變量。
由于提供了更好的方式: error_get_last() 來獲取此類錯誤信息,該功能被廢棄。
考慮到此函數(shù)的安全隱患問題(它是 eval() 的瘦包裝器),該過時的函數(shù)現(xiàn)在已被廢棄。 更好的選擇是匿名函數(shù)。
mbstring.func_overload
ini 設(shè)置由于此設(shè)置會影響環(huán)境中的字符串系列函數(shù),帶來相互操作中的問題,它現(xiàn)在已被廢棄。
(unset)
類型強制轉(zhuǎn)化
轉(zhuǎn)化任意表達(dá)式為此類型,結(jié)果總是 null
,所以這個多余的類型轉(zhuǎn)化現(xiàn)在也就被廢棄了。
使用 parse_str() 時,不加第二個參數(shù)會導(dǎo)致查詢字符串參數(shù)導(dǎo)入當(dāng)前符號表。 考慮到安全隱患問題,不加第二個參數(shù)使用 parse_str() 的行為已被廢棄。 此函數(shù)的第二個選項為必填項,它使查詢字符串轉(zhuǎn)為 Array。
此函數(shù)基于未知的、取決于平臺的 limb 尺寸產(chǎn)生隨機數(shù)。因此,該函數(shù)已被廢棄。 使用更好的方式產(chǎn)生隨機數(shù): GMP 擴展中的 gmp_random_bits() 和 gmp_random_range()。
使用此函數(shù)遍歷時,比普通的 foreach
更慢,
并且給新語法的變化帶來實現(xiàn)問題。因此它被廢棄了。
assert() 字符串參數(shù)將要求它能被 eval() 執(zhí)行。 考慮到可能被執(zhí)行遠(yuǎn)程代碼,廢棄了字符串的 assert(),最好提供 bool 的表達(dá)式。
$errcontext
參數(shù)
$errcontext
參數(shù)包含了錯誤網(wǎng)站的所有本地變量。
考慮到它很少被用到,而且還會導(dǎo)致內(nèi)部優(yōu)化問題,它現(xiàn)在被廢棄了。
代替用法:調(diào)試器應(yīng)該自己取回錯誤站點的本地變量。
read_exif_data() 別名已被廢棄 使用 exif_read_data() 函數(shù)代替。