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
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