PHPの動作環境
PHPはクライアント端末からの要求に対して動的にHTMLデータを生成し、クライアント端末に返信することで、動的なWebページを実現することのできるプログラミング言語です。
仕様としては、HTML埋め込み型のサーバ側スクリプト言語ですので、しばしばJavaScriptなどのクライアント側スクリプト言語と対置されます。またそれゆえにWebサーバに負担が生じるため、サーバ側のスペックには気を配らねばなりませんし、テスト環境を作っておいてアップロード前に実行テストを行うことが奨められます。
仕様
■パラダイム
■型付け
■プラットフォーム
■サーバ環境
- 命令型・・・C言語などのように、ある出力を得るにあたって実行すべきアルゴリズムを明示し、それをもとに動作するということです。主にループや条件分岐、メソッドによって制御されます。
HTMLのような出力性質のみを記す言語を「宣言型」と言いますが、それら「宣言型」とPHPのような「命令型」は、本質的な目的が異なります。 - オブジェクト指向・・・プログラムの構造を、オブジェクト群の相互作用の働きであると捉えてプログラムコードを書き表す考え方です。
同時に、システム開発・設計において対象領域を構成要素という「オブジェクト」として発見、定義、記述していくという幅広い捉え方もなされます。
■型付け
弱い動的型付け・・・プログラミングにおいては、処理するデータを数字型、文字列型、複合型のように型付けを行います。これにより、プログラムは信頼性・最適化に対処し得ます。
PHPの場合は、もしデータが期待される型と異なる場合、積極的にデータを適合できる型へと変換するため、「弱い動的型付け」と呼ばれます。
なおデータが期待される型と異なるときに全く受け付けない型付けを「静的型付け」、エラーを返す型付けを「強い動的型付け」と言います。
PHPの場合は、もしデータが期待される型と異なる場合、積極的にデータを適合できる型へと変換するため、「弱い動的型付け」と呼ばれます。
なおデータが期待される型と異なるときに全く受け付けない型付けを「静的型付け」、エラーを返す型付けを「強い動的型付け」と言います。
■プラットフォーム
クロスプラットフォーム(cross-platform)・・・WindowsやMac OS X、Linuxなどのように、仕様が異なる機器・OS上で動作するということです。マルチプラットフォーム(multi-platform)とも言います。
■サーバ環境
- 実行ファイル形式(CGI / FastCGI)
- モジュール形式(mod_php / ISAPI)
PHPは実行ファイル形式とモジュール形式があり、多様な組み合わせがありますが、実際には使用するWebサーバによって、利用する形式を決めてしまうケースがほとんどです。
- Apache HTTP Server ― mod_php
一番よく使われるタイプで、当サイトでもこの組み合わせで利用しています。組み立ても非常にカンタンで、便利です。 - IIS ― ISAPI
マイクロソフトを象徴するサーバアプリケーション、IIS。マイクロソフト派の人にオススメです。 - lighttpd ― FastCGI
Jan Kneschke氏によるフリーソフトウェアで、CPU、メモリへの負荷が少なくクロスプラットフォームであることが特徴です。PHPとの相性が良く、またYou Tubeなどに採用されていることで有名です。 - AN HTTPD・・・CGI
日本人によって開発されたフリーソフトウェアで、日本語マニュアルがベースとなっているため日本人に人気です。さらにWindowsサーバをプラットフォームとするので、GUI上で各種設定もできます。
