假设我在addUser()
中有一个私有函数function.php
,它将$username
作为输入变量并执行一些操作:
function addUser($username) {
//do some stuff
}
现在我想调用此函数并传递值$ username,如果可能的话,使用PHP CLI。我想这不会在外部function.php
起作用,因为它是私有的,但我怎么能这样做呢?
答案 0 :(得分:4)
php -r 'include("/absolute/path/to/function.php"); addUser("some user");'
这应该有效。因为您基本上是在'
之间执行所有代码。您可以加入function.php
,并且适当调用addUser()
。
请参阅phpdoc。
答案 1 :(得分:2)
您获得了在argv数组中传递的命令行参数:
function addUser($username) {
//do some stuff
}
addUser( $argv[1] );
答案 2 :(得分:0)
您可以使用$ argv。 $ argv [0] =文件名,$ argv [1] =文件名后的第一件事。
即。 php function.php“some arg” 将是addUser(“some arg”);
答案 3 :(得分:0)
function funcb()
{
echo 'yes';
}
if (php_sapi_name() === 'cli') {
if (count($argv) === 1) {
echo 'See help command'.PHP_EOL;
exit();
}
if (function_exists($argv[1])) {
$func = $argv[1];
array_shift($argv);
array_shift($argv);
$func(...$argv);
}
}
这对我有用!