考虑一下:
#!/usr/bin/php
<?php
class Foo {
static function bar () {
echo "Foo->bar\n";
}
}
if (PHP_SAPI === 'cli') {
Foo::bar();
}
?>
我可以从 CLI 执行它,但是当我include
在 CGI 运行的 PHP 脚本中执行它时,shebang 最终会出现在输出中。
我喜欢简单的脚本紧凑:我想我可以把这class
部分放在一个单独的“lib”文件中,并有一个简单的 CLI 包装器使用。但我想将它全部保存在一个地方,而不必担心包含路径等。
这是否可能没有ob_*
-wrapinclude
来捕获 shebang(如果这甚至可能的话),还是将所有这些都塞进一个文件是愚蠢的?欢迎替代品/想法/最佳实践!
编辑:我想把脚本放在我的PATH
,所以打电话我宁愿不叫它php file.php
。请参阅我对@misplacedme 答案的评论