PHP4の新機能

WBOY
リリース: 2016-06-21 08:58:26
オリジナル
1400 人が閲覧しました

  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()、コンテンツ タイプ、Cookie) はバッファリングされません。


(25) PCRE ライブラリの追加

PHP 4.0 には、Perl 互換の正規表現 (PCRE) が含まれています) PHP にバンドルされているライブラリ。PCRE 関数の分割と置換がサポートされています。


(26)php.ini ファイルは PHP 4.0 で再設計されました。 php.ini を使用した PHP の設定は、より簡単かつ効率的です。すべてのファイルは、実行時に (Apache 環境で)、または php.ini ファイルに追加された Windows レジストリで操作できます。関連するすべてのモジュールで自動的にサポートされます

(27) 参照カウント

<.> PHP 4.0 は、リソースが参照されなくなると、システム内のすべての値の参照カウントを提供します。この機能を利用する最もわかりやすい例は、PHP 3.0 では、再帰的な SQL 結果セットごとにメモリが繰り返し割り当てられることです。これらの結果セットによって占有されているメモリは、スクリプトが実行されるまで解放されません。

(28) のサポート。参照

によって変数の値を変更できます。 🎜>
(29) 関数の実行時バインディング

PHP 4.0 の実行時バインディング関数を使用すると、宣言がコードの後半にあるか実行時にあるかに関係なく、関数が宣言される前に呼び出すことができます。 >

(30) クラスの実行時情報

PHP 4.0 は、次のクラス情報: オブジェクトのクラス名、オブジェクトの親クラスのクラス名、およびオブジェクトの名前 関数 (31) サーバー抽象化層

Web をサポートするために、サーバーは PHP 4.0 の不可欠な部分である拡張 SAPI (サーバー API) インターフェイスを提供します。このサーバー抽象化層はユニバーサル 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}";


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート