top
Loading...
PHP4的新特性
PHP 4.0 是更有效的,更可靠的動態Web頁開發工具,在大多數情況運行比 PHP 3.0 快,其腳本描述更強大并且更復雜, 最顯著的特征是速率比的增加。PHP4.0 這些優異的性能是PHP 腳本引擎重新設計產生的結果:引擎由 AndiGutmans 和 Zeev Suraski從底層全面重寫。PHP4.0 腳本引擎 - Zend 引擎 - 使用了一種更有效的“編譯——執行”范式, 而不是PHP 3.0 采用的“執行 ——當解析時”模型。

PHP4在3.0版的基礎上增加或增強了許多有用的特征,主要如下:


(1)別名

在PHP4中,可以利用引用為變量賦值,這給編程帶來了很大的靈活性。


(2)擴充了API 模塊

PHP 4.0 為擴展的 API 模塊的提供了擴展PHP接口模塊, 它比舊的 API 版本顯著地快。 PHP 模塊已有的及最常用的接口多數被轉換到使用這個擴展的接口。


(3)自動資源釋放

PHP4增加了引用計數功能,這種新技術的引入使PHP4具有了自動內存管理功能,減輕了開發人員的負擔。


(4)布爾類型

PHP 4.0 支持布爾類型。


(5)進程生成

在 UNIX 環境下的 PHP 4.0 提供了一個很智能和通用的生成進程, 使用了一種名為基于automake/libtool的系統生成技術。


(6)COM/DCOM 支持

PHP 4.0 提供 COM/DCOM 支持 ( 僅用于Windows 環境 ) 可以無縫地存取和訪問 COM 對象。


(7)與PHP 3.0 相容性很好

PHP 4.0 是與 PHP 3.0 代碼向后兼容性接近100% 。由于 PHP 4 的改進的體系結構,兩者有一些細微的差別,但是大多數人將可能永遠不可能遇上這種情況。


(8)配置

PHP4重新設計和增強了PHP。ini文件,這使得用PHP。ini來配置PHP顯得極為容易,這個文件可以在運行時被Apache(unix系統)或由Windows 注冊(Windows 環境)。


(9)加密支持

PHP4實現了完整的加密, 這些加密功能是一個完整的mycrypt庫,并且 PHP 4.0 支持哈希函數。Blowfish,TripleDES,MD5,并且SHA1 也是可使用的一些加密算法。


(10)類型檢查

PHP 4.0 支持同一操作符用于評類型檢查:"==="( 3 等號運算符 ), 為在兩個值和其類型之間作檢查。例如,“ 3 ” ===3 將視為假 ( 類型是不同的 ), 而“ 3 ” ==3 ( 相等判斷 ) 將視為真。


(11)FTP 支持

PHP 4.0 支持 FTP 。通常, 你會為通過一個調制解調器連接下載一個大文件提供一個網接口。然而, 如果你確有需要,你可以用PHP 。


(12) PHP4新增函數或功能增強函數

PHP 4.0 新增了許多函數,同時也將許多現有的函數功能進行了增強,以下是一些例子。

array_count_values()

eval()

foreach()

nclude()

ob_end_clean()

ob_end_flush()

ob_get_contents()

ob_start()

strip_tags()

unset()


(13)"here”打印

PHP 4.0 的“Here”打印是與Perl類似的, 盡管完全不相同。“Here”是打印大容量文章的一個有用的方法,例如在 HTML文件中,不會漏掉任何一個字符,例如目錄標記。


(14)HTTP Session fallback 系統

為 HTTP Session管理的一個 fallback 系統在 PHP 4.0被實現 。缺省情況下,Session標識符由cookies存儲。如果沒有cookies支持或一項cookies任務失敗,Session標識符自動被創建并在 URL 的查詢字符串中被攜帶。


(15)ISAPI 支持

PHP 4.0 能作為一個個性化的 ISAPI 模塊作為 IIS插件 。這比 PHP 3.0 更有效, 它作為CGI 運行 ( 一個外部的程序 )。


(16)內存

PHP 4.0 能更有效的使用內存, 導致較少的內存占用消耗,這主要歸功于引用計數技術的實現。


(17)其他類成員函數

在 PHP 4.0 你能在成員函數本身的作用域或全局范圍內調用其他類的成員函數。例如,你能用一個子函數覆蓋父函數,并在子函數中調用父函數。


(18)多維數組

在 PHP 4.0 ,利用GET,POST,Cookies的進行的數據傳輸支持多維數組。


(19)個性化的 HTTP Session支持

HTTP Session處理, 包括 fallback 系統管理,在 PHP 4.0被它的新庫函數實現 。在版本 3.0 中處理Session要求使用 PHPLIB 和第三方的庫函數, 它比把Session直接地由 PHP 支持慢了許多。


(20)個性化的 Java 支持

PHP 4.0 支持和java的交互。這種個性化的Java 支持為PHP 在 Java 對象上創建和使用方法提供一個簡單并且有效的工具。


(21)對象和數嵌套組

PHP 4.0 實現了功能更加強大的對象, 移去了 PHP 3.0種 存在的句法限制。對象能在數組以內被嵌套并且反過來也如此, 可以根據你的需要實現嵌套。


(22)面向對象的編程

PHP 4.0 為面向對象的編程和構造類及對象提供擴展的功能和新特征。PHP4實現了對象重載,引用技術等新技術。


(23)對象重載支持

對象重載語法允許第三方的基于面向對象的類庫使用 PHP4 的面向對象的特征存取他們自身的功能。使用這個特征的一個 COM 模塊已經被實現了。


(24)輸出緩沖支持

PHP 提供了一個輸出緩沖函數集合。輸出緩沖支持允許你寫包裹函數功能壓縮緩沖區。在 PHP4 的輸出緩沖支持允許 HTML 頭信息存放, 無論 HTML的正文是否輸出。頭信息( (header(), content type, and cookies ) 不采用緩沖 。


(25)增加了PCRE 庫

PHP 4.0 包括一個 Perl 兼容的正則表達式 (PCRE ) 庫, 和正常regex庫一起與 PHP 綁定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正規表達式之間有一些細微差別。


(26)php.ini 文件

php.ini文件在 PHP4.0 被重新設計, 使用的 PHP 的配置php.ini是更容易并且更有效的。全部文件能被Apache 在運行時間操作 ( 在 Apache環境 下 ) 或由 Windows 注冊表 ( 在 Windows 下面 ) 。被加入php.ini文件的配置指令自動地在所有相關的模塊中被支持。


(27)引用計數

PHP 4.0 為系統中的每個數值提供了引用計數, 包括資源。一旦一個資源不再被任何變量引用,它自動地被釋放以節省內存資源。利用這個特征的最明顯的例子一個內置SQL查詢的循環語句。在PHP 3.0中 ,每次遞歸另外的 SQL 結果集合重復申請內存,直到腳本執行完畢,這些結果集合占用的內存才被釋放。


(28)支持引用

通過引用可以改變一個變量的值。


(29)函數的運行時綁定

PHP 4.0 的運行時間綁定功能允許你在他們被聲明以前調用, 無論聲明是否在代碼以后或是在運行時間。


(30)類的運行時信息

PHP 4.0 支持在運行時刻存取下列類信息:一個對象的類名,一個對象的父類的類名字,以及對象函數所在的名字。


(31)服務器抽象層

為支持Web服務器提供了增強型 SAPI ( 服務器 API ) 接口,是 PHP 4。0 不可分的一部分。這個服務器抽象層,提供了通用的WEB服務器接口支持,支持多線程WEB服務器,為大多數的WEB服務器提供透明的支持, 這些服務器包括 Apache ,IIS ( ISAPI ), 以及 AOL 服務器。


(32)語法的點亮顯示

PHP 4.0 語法的點亮顯示允許開發者看見源代碼而不是腳本, 這個功能比PHP 3。0中的更有效。它跑得更快,更執行得更好,并且產生更緊湊的HTML代碼。


(33)由引用改變變量的值

PHP 4.0 由引用支持可變的賦值, “關聯”的2個變量之中個的任何一個的值被改變,另外的變量的值同樣被改變,這類似與C中的指針類型。


(34)在引用字符串中的變量引用

PHP 4.0 增強了在引用字符串中的變量引用。例如, 這個例子在 PHP 3.0中 是不可能做到的 : print "${a[0]->bingo}";

北斗有巢氏 有巢氏北斗