CLI と SAPI, あるいは Google Code Search について

Date
2006-10-09 (Mon)
Category
php

PHP は Web 専用のプログラミング言語だと誤解されがちですが、実際には、CLI (Command Line Interface) と云って、shell から直接起動できるバイナリも普通は一緒についてくるので、普段の shell script とか、ワンライナーみたいなことをやろうと思えばできます。

僕は結構 cron から立ち上げる php スクリプトを書いたりすることもあるんですが、例えば shell 起動と Web 経由では View 部分を変えるけど、Model/Controller は一緒、みたいなのは技術的には可能ですよね。さてどうしよう?というのが今回の疑問でした。

結論から言うと、

string php_sapi_name ( void )

という関数がありました。戻り値の string は起動した interface を保持しています。CLI 起動だと "cli" とか mod_php 起動なら "apache" で、cgi 起動なら "cgi"。サイトの例にあるように、文字列判別をすればそのまま使えそうです。

これをどうやって見つけたか?この間発表になったばかりの Google Code Search を使ってみました。英語でコードを検索する時、例えば PHP だとひたすら cvs.php.net とか bugs.php.net とかが検索結果上位に来ていてあんまり役に立ってなかったけど(こういう時日本語は便利)、code search なら一発でした。 CLI SAPI branch lang:php 英語の思いついた素直なキーワードですぐ出てきた。これは便利かもしれません。

全く印象の余談ですが、Google Code Search、ちょっと速くなったような?今まで safari で検索結果の code を見ようとすると javascript object かしらん?表示は完了していても何か別項目をひたすらロードし続けていたけれど、今はちゃんとロード完了するし、何となく code 表示が機敏になったような。

Comment:0

Comment Form

Remember Me?


Trackback:0

TrackBack URL for this entry
http://blogs.grf-design.com/mt/mt-tb.cgi/189
Listed below are links to weblogs that reference
CLI と SAPI, あるいは Google Code Search について from The Croton

Return to Page Top