从命令行调用PHP脚本中的函数

时间:2012-09-18 17:48:23

标签: terminal command-line-arguments php

我有一个包含许多不同参数化函数的脚本。是否可以从命令行调用任何这些函数并传入参数而不是我必须在脚本中硬编码函数调用?

F.Y.I:我确实知道如何从命令行执行简单的PHP脚本

没有完全调用该函数,请记住script.php有大约5个不同的函数,我希望只调用1,这是可能的

2 个答案:

答案 0 :(得分:0)

您可以使命令行脚本使用其第一个参数作为要调用的函数,然后使用传递给它的参数。参数将出现在魔术数组变量$argv中。

// Zero'th "argument" is just the name of your PHP script
$name_of_php_script = array_unshift($argv);
// Next argument will be your callback
$callback = array_unshift($argv);
// Remaining arguments are your parameters
call_user_func_array($callback, $argv);

显然,您可能希望使安全性变得更复杂,或者传递某种特殊值,但这样做会解决您在问题中描述的基本逻辑。

答案 1 :(得分:0)

您可以编写一个选项,然后将该函数传递给该函数,例如myscript.php -function my_function

然后在你的脚本中调用类似

的函数
$argv[1]()