PHPにできることは?

あらゆることができます。PHPでは主にサーバサイドでの活用に焦点が 当てられているため、フォームからデータを取得したり、動的にページ の内容を生成したり、クッキーを送信・受信するといった他のCGI プログラムに出来ることは全て行うことが出来ます。しかし、これが 全てではありません。

PHPスクリプトが使用される場所は主に3つあります。

PHPは Linux, 多くのUnix系システム(HP-UX, Solaris, OpenBSD等), Microsoft Windows, Mac OS X, RISC OS, その他全ての有名なOSで 動作します。PHPはまた現在使用されているほとんど全てのウェブサーバを サポートします。これには、Apache, Microsoft Internet Information Server, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd等 が含まれます。そうしたウェブサーバの大部分に対してPHPはモジュールを 提供し、その他のものに対してはCGIが提供されます。

つまりPHPを使用する場合にはOSとウェブサーバを自由に選ぶことが出来ます。 さらに手続き型のプログラミングかオブジェクト指向のプログラミングか、 もしくはそれらを混在させるかといった選択を行うこともできます。 現在のバージョンのPHPでは標準的なOOPの機能が全て実現されている 訳ではありませんが、(PEARライブラリを含め)多くのコードライブラリ や大きなアプリケーションがOOPのみを使用して書かれています。

PHPはHTMLを出力するだけではありません。PHPはイメージやPDFファイル、 そして(libswfやMingを使って)Flashムービーまでもをその場で生成する 機能を備えています。またXHTMLやXMLといったその他の文書も自動的に 生成することが出来ますし、ファイルシステムに保存したり、印刷したり サーバ側でキャッシュすることも出来ます。

PHP の機能の中で最も強力で優れた機能は、広範なデータベースをサポー トしていることでしょう。データベース機能を用いたWebページの作成は、 非常に簡単です。以下のデータベースが現在サポートされています。

Adabas DInterBasePostgreSQL
dBaseFrontBaseSQLite
EmpressmSQLSolid
FilePro (読込みのみ)Direct MS-SQLSybase
HyperwaveMySQLVelocis
IBM DB2ODBCUnix dbm
InformixOracle (OCI7 および OCI8) 
IngresOvrimos 

また、DBXデータベース抽象化モジュールもあります。これはこのモジュールで サポートされているデータベースに透過的にアクセスする機能を提供します。 加えて、PHPはODBC(Open Datebase Connection)をサポートするので、この世界 標準の機構をサポートするどんなデータベースにもアクセスすることが出来ます。

PHP は、IMAP、SNMP、NNTP、POP3、HTTP、COM (Windowsのみ) やその他 数え切れない程多くのプロトコルを用いる他のサービスの状態を追跡する 機能もサポートしています。低レベルのネットワークソケットをオープンし、 他のプロトコルを用いて通信を行うことも可能です。また、PHPはWDDXを サポートし、基本的に全てのウェブプログラミング言語間で複雑なデータ交換 を行うことができます。相互接続機能としては、他にJavaオブジェクトの インスタンスを作成してそれをPHPのオブジェクトとして透過的にアクセス する機能や、CORBA拡張モジュールを使用してリモートオブジェクトにアクセス する機能があります。

PHPにはPOSIX拡張正規表現もしくはPerl正規表現からXML文書の解析に至るまで 非常に便利なテキスト処理の機能があります。XML文書の解析や操作のために SAXとDOMをサポートしています。XML文書の変換にはXSLT拡張モジュールを 使用することが出来ます。

eコマースでPHPを使用するのなら、オンラインでの支払いを処理するのに、 Cybercash payment、CyberMUT、Verisign Payflow Pro、そしてCCVS関数が便利です。

他にも多くの興味深い拡張モジュールがあります。mnoGoSearchサーチエ ンジン関数、IRCゲートウェイ関数、多くの圧縮ユーティリティ(gzip, bz2)、カレンダー関数等です。

お分かりの通り、このページではPHPの機能やPHPを使用することの利点を全て 紹介することは出来ません。PHPのインストール の章を読んで見てください。紹介された拡張モジュールに関しては関数リファレンスを読んでみてください。