情况

我正在使用兼容bash 4的shell运行linux。

我有两个文件:

A.class.php:

<?php

class A{

    public static function foo(){
        echo "foo\n";
    }
}

A.php:
<?php

A:foo();



在不编辑文件的情况下,从命令行运行A.php之前是否可能需要A.class.php?

就像是:
php --require "A.class.php" A.php

我尝试过的事情

我试图将<?php require 'A.class.php' ?>与文件A.php的内容连接起来,然后将其通过管道传输到php,如下所示:
echo "<?php require 'A.class.php'?>$(<A.php)" | php

效果很好,但有点黑,需要编写很多东西。也许有一些更简单的方法可以做到这一点?

最佳答案

您可以使用-d directive=value设置auto_prepend_file指令。

php -d auto_prepend_file=A.class.php -f A.php

或者,您可以传递直接将脚本加载为参数的php代码,而不是传递脚本文件名:
php -r "require 'A.class.php'; require 'A.php';"

10-06 13:41
查看更多