在从命令行运行的脚本中,有没有办法在执行期间从PHP代码内部进入read-eval-print循环?就像php -a或phpsh一样?或者我是否必须从头开始重新实现REPL?我找不到任何办法。
澄清一下:我需要这样做的原因是我想在REPL启动后自动包含项目中的所有文件,而不是手动包含所有内容。
答案 0 :(得分:1)
只需在输入php shell时加载文件......
php -a
<?php require("core.php"); ?>
core.php中:
require_once("somefile.php");
require_once("anotherfile.php");
require_once("yetanotherfile.php");
dosomething();
// Here, it'll drop back to the shell.
如果您有通过调用函数处理请求的核心文件,则可以在远程需要时绕过该函数调用,使用:
if (basename($argv[0]) == basename(__FILE__)) { process_request(); }