PHPオプション:PHPリファレンス
PHPオプションに属するゴルフ用語を紹介しています。
assert()
assert関数は、指定された条件でエラーが発生するか調べるときに使用します。常にTRUEとなるべき条件を指定しておき、TRUEとならない場合で特別な処理を行うなどの使用法があります。
dl()
dl関数は拡張モジュールをロードします。マルチスレッド対応のWebサーバではサポートされていません。また、PHP,iniのenable_dlにOFFがセットされている場合は作動しません。dl関数で指定できるのはファイル名です。拡張モジュールのファイル名はプラットフォームにより違ってきます。たとえばWindowsでは「*.dll」、Linuxでは「*.so」となります。この関数を使用する場合はその点も考慮する必要があります。
extension_loaded()
extension_loaded関数は、指定された拡張モジュールがロードされているかどうかを調べるときに使用します。ロードされている場合はTRUEが返されます。指定するパラメータは拡張モジュール名で、ファイル名ではないことに注意が必要です。拡張モジュールの名前はphpinfo関数やコマンドラインからの実行で確認することができます。dl関数と組み合わせて、拡張モジュールがロードされていない場合ロードするという使用法があります。
get_cfg_var()
get_cfg_var関数はPHPの設定値を取得します。設定に応じて処理を分岐したいようなときに使用します。例えば、セーフモードで実行されていないか(PHP.iniのsafe_mode)、セッションが自動開始されるか(PHP,iniのfile_uploads)などを調べて、後続の処理が実行可能かどうかを判別します。
PHP,iniの設定値はスクリプト実行中に変更が可能です。get_cfg_var関数は、PHP.iniにもともと設定されていた値を取得するので、変更後の最新値を取得する用途には不向きです。最新の設定値を取得したい場合はini_get関数を使用します。
get_magic_quotes_gpc()
get_magic_quotes_gpc関数はmagic_quotes_gpcの設定値を調べる際に使用します。ONに設定されている場合は1が返されます。magic_quotes_gpcは、GET、POST、Cookieの各データを自動的にバックスラッシュでエスケープするかどうかの設定を行う項目です。On、Offの設定ができますが、PHP,iniの2種類のテンプレートphp.ini-dist、php,ini-recommendedで設定されている値が(php.ini-dist:On、php,ini-recommended:Off)異なるので、スクリプトを配置するサーバーでの設定が異なることも考えられます。
設定が異なると得られる結果も異なるので、GET、POST、Cookieの各データを扱う場合は、get_magic_quotes_gpc関数で設定値を調べてから処理を進める方法が確実です。多くの場合は、get_magic_quotes_gpc関数の戻り値をベースにif文で条件を記述して処理を分岐します。
get_magic_quotes_runtime()
get_magic_quotes_runtime関数は、magic_quotes_runtimeの設定値を調べるときに使用します。ONに設定されている場合は1が返されます。magic_quotes_runtimeはデータをバックスラッシュでエスケープするかどうかの設定です。対象データはファイルから読み込んだ値やデータベースから取得した値など実行時に作成された値です。
例えばファイルから「パソコン」という文字列を読み込むと「パソ\コン」のようにエスケープされます。magic_quotes_gpcと異なり、PHP.iniの2種類のテンプレートphp.ini-dist、php.ini-recommendedの初期値は同じOffなので、On、Offが入り混じっているケースは多くはないでしょう。しかし、万全を期すなら、get_magic_quotes_runtime関数の戻り値に応じて処理を分岐する検討も必要です。
getenv()
getenv関数は指定された環境変数の値を返します。
getmypid()
getmypid関数は現在のPHPのプロセスIDを取得します。
ini_get()
ini_get関数はPHP.iniの設定値を取得します。get_cfg_var関数がもともとPHP.iniに設定されていた値を取得するのに対して、ini_get関数は実行時の最新値を取得する点で異なります。スクリプト実行中に設定値を変更して、最新の値を取得したい場合はini_get関数を使用します。
ini_set()
ini_set関数は設定オプションの値を変更します。これはPHP.iniを書き換えるものではなく、実行中に適用する値を設定するもので、スクリプト終了時にもとの値へ戻されます。また、全ての設定項目がスクリプトから変更可能というわけではありません。ini_set関数で変更した最新の設定値はini_get関数で取得します。
php_sapi_name()
php_sapi_name関数はWebサーバーとPHPのインターフェースの型を取得します。
phpinfo()
phpinfo関数はPHP情報を出力します。パラメータには出力対象の要素の指定が可能です。各種設定値などを一覧表示して参考にする目的で使用されます。また、PHPインストール後での動作確認や、これからPHPを始める方が最初に作成するPHPドキュメントとして使用することもできます。
phpversion()
phpversion関数はPHPのバージョンを取得します。定数PHP_VERSIONを使用しても同じ処理ができます。PHPのバージョンに応じて処理を分岐したい場合などに使用することが可能です。
set_magic_quotes_runtime()
set_magic_quotes_runtime関数は、magic_quotes_runtimeを設定するときに使用します。Onに設定する場合は1、Offに設定する場合は0を指定します。magic_quotes_runtimeがOnの場合、ランタイム値(ファイルやデータベースなどから取得した値)をバックスラッシュでエスケープされます。この設定の既定値はOffですが、万全を期して予期せぬバックスラッシュが付加されないようにmagic_quotes_runtimeをOffにしておくほうがよいでしょう。
set_time_limit()
set_time_limit関数はsy堀のタイムアウト値を設定します。既定値(PHP,iniのmax_execution_time)では、処理が30秒を超えるとタイムアウトとなり終了してしまうため、データの処理など、ブラウザ出力を伴わない長時間かかる処理を実行したいような場合にset_time_limit関数でタイムアウト値を設定します。時間制限無しで実行したい場合は0を指定します。
version_compare()
version_compare関数は2つのPHP標準バージョン番号文字列を比較します。この関数は、いくつかのバージョンのPHPでのみ 動作するプログラムを書きたい場合に使われます。
3番目のパラメータに比較演算子を指定した場合、式の条件を満たす場合はTRUE、満たさない場合はFALSEを返します。