PHP 是一種新型的 CGI 程序編寫語言,易學易用,運行速度快,可以方便快捷地編寫出功能強大,運行速度快,并可同時運行于 Windows、Unix、Linux 平臺的Web后臺程序,內置了對文件上傳、密碼認證、Cookies 操作、郵件收發、動態 GIF 生成等功能。
PHP 直接為很多數據庫提供原本的連接,包括Oracle、Sybase、Postgres、Mysql、Informix、Dbase、Solid、Access 等,完全支持ODBC接口,用戶更換平臺時,無需變換 PHP 代碼,可即拿即用。
使用方法
棄用e修飾符
e修飾符是指示preg_replace函數用來評估替換字符串作為PHP代碼,而不只是僅僅做一個簡單的字符串替換。不出所料,這種行為會源源不斷的出現安全問題。這就是為什么在PHP5.5 中使用這個修飾符將拋出一個棄用警告。作為替代,你應該使用preg_replace_callback函數。你可以從RFC找到更多關于這個變化相應的信息。
新增函數和類 接下來,我們將看到在計劃之中的新增函數和類:
boolval()
PHP已經實現了strval、intval和floatval的函數。為了達到一致性將添加boolval函數。它完全可以作為一個布爾值計算,也可以作為一個回調函數。
hash_pbkdf2()
PBKDF2全稱“Password-Based Key Derivation Function 2”,正如它的名字一樣,是一種從密碼派生出加密密鑰的算法。這就需要加密算法,也可以用于對密碼哈希。
如果您使用的是從apache.org PHP與Apache1或者apache2,您需要使用PHP的VC6的版本;
如果您使用的是PHP與IIS,你應該使用PHP的VC9版本;
VC6的版本是與傳統的Visual Studio6編譯器編譯;
VC9版本的Visual Studio 2008編譯器編譯,并在性能和穩定性的改善。
VC9版本需要你有微軟2008的C ++運行時(x86);
Microsoft 2008 C++ Runtime (x86);
2008年微軟的C ++運行時(64)安裝;
Microsoft 2008 C++ Runtime (x64);
不要使用VC9 apache.org二進制文件的版本;
VC9 Apache的版本可以讀取Apache的休息室。我們用自己的二進制文件,建立了Apache SAPIs。
更新日志
Typed Properties 類型屬性
類屬性現在支持類型聲明,以下示例將強制 $User-》 id 只能分配 int 值,而 $User-》 name 只能分配 string 值。
《?phpclassUser{ public int $id; public string $name;}?》
Arrow Functions 箭頭函數
箭頭函數提供了用于定義具有隱式按值作用域綁定的函數的簡寫語法。
《?php$factor = 10;$nums = array_map(fn($n) =》 $n * $factor, [1, 2, 3, 4]);// $nums = array(10, 20, 30, 40);?》
將閉包傳遞給 array_map 或 array_filter 等函數時,它可以發揮極大的作用。
// A collection of Post objects $posts = [/* … */];$ids = array_map(fn($post) =》 $post-》id, $posts);
Limited Return Type Covariance and Argument Type Contravariance 有限返回類型協變與參數類型逆變
僅當使用自動加載時,才提供完全協變/逆變支持。在單個文件中,只能使用非循環類型引用,因為所有類在被引用之前都必須可用。
《?phpclassA{}classBextendsA{}classProducer{ publicfunctionmethod(): A{}}classChildProducerextendsProducer{ publicfunctionmethod(): B{}}?》
Unpacking Inside Arrays 打包內部數組
《?php$parts = [‘apple’, ‘pear’];$fruits = [‘banana’, ‘orange’, 。..$parts, ‘watermelon’];// [‘banana’, ‘orange’, ‘apple’, ‘pear’, ‘watermelon’];?》
Numeric Literal Separator 數值文字分隔符
數字文字可以在數字之間包含下劃線。
《?php6.674_083e-11; // float299_792_458; // decimal0xCAFE_F00D; // hexadecimal0b0101_1111; // binary?》
Weak References 弱引用
弱引用使程序員可以保留對對象的引用,不會阻止對象被銷毀。
Allow Exceptions from __toString() 允許從 __toString() 拋出異常
現在允許從 __toString() 引發異常,以往這會導致致命錯誤,字符串轉換中現有的可恢復致命錯誤已轉換為 Error 異常。
Opcache Preloading Opcache 預加載
新增 Opcache 預加載支持。