このことを考慮:
#!/usr/bin/php
<?php
class Foo {
static function bar () {
echo "Foo->bar\n";
}
}
if (PHP_SAPI === 'cli') {
Foo::bar();
}
?>
これは CLI から実行できますがinclude
、たとえば CGI で実行する PHP スクリプトで実行すると、シバンが出力されてしまいます。
私は単純なスクリプトがコンパクトclass
であるのが好きです:別の「lib」ファイルにその部分を入れて、 CLI で使用するための単純なラッパーを用意できると思います。しかし、インクルード パスなどを気にせずに、すべてを 1 か所にまとめておきたいと思います。
ob_*
これは、シバンをキャプチャするために-wrapせずに可能include
ですか (これが可能であれば)、またはとにかくこれらすべてを 1 つのファイルに詰め込むのはばかげていますか? 代替案/考え/ベストプラクティスを歓迎します!
編集: スクリプトを に入れたいPATH
ので、 で呼び出すのは避けたいと思いphp file.php
ます。@misplacedmeの回答への私のコメントを参照してください