为交互式PHP提供初始输入

时间:2014-03-13 23:43:09

标签: php

我想编写一些初始输入,我发现自己在使用PHP CLI时反复输入。这可能吗?我在Linux机器上,所以如果PHP本身不支持某种形式的Bash + PHP,那么它将适用于我。

E.g。

php -a 

php > include "MyClassWithReallyVerboseName.php";
php > $o = new MyClassWithReallyVerboseName("The parameters are also pretty verbose");

我希望能够编写这两行PHP的脚本,这样当我执行交互式命令行时,已经包含了类文件,并且已经初始化了$ o对象。

编辑: 我的初步搜索没有产生任何有用的结果,但在我发布问题之后,我发现了这个有用的线程在"相关"我的帖子栏目:initialising PHP interactive

解决方案似乎是在启动交互模式时包含一个define标志,包括特殊的INI参数auto_prepend_file

php -d auto_prepend_file="/path/to/init/file" -a 

2 个答案:

答案 0 :(得分:0)

你可以创建一个名为eg的脚本“init.php”填写必要的初始化代码,然后只包含它。

答案 1 :(得分:0)

我可能会使用php的auto_prepend_file功能。将php.ini文件复制到my-project-php.ini(例如使用cp /etc/php.ini my-project-php.ini,然后修改my-project-php.ini以便

auto_prepend_file = project-includes.php

project-includes.php会包含在其中

include "MyClassWithReallyVerboseName.php";
$o = new MyClassWithReallyVerboseName("The parameters are also pretty verbose");

然后我会运行php -c my-project-php.ini -a

http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file