假设我有一个私有函数addUser()
,function.php
它$username
作为输入变量并做了一些事情:
function addUser($username) {
//do some stuff
}
现在我想调用这个函数并传递值 $username,如果可能的话,使用 PHP CLI。我想这在外面是行不通的,function.php
因为它是私人的,但我怎么能这样做呢?
假设我有一个私有函数addUser()
,function.php
它$username
作为输入变量并做了一些事情:
function addUser($username) {
//do some stuff
}
现在我想调用这个函数并传递值 $username,如果可能的话,使用 PHP CLI。我想这在外面是行不通的,function.php
因为它是私人的,但我怎么能这样做呢?
php -r 'include("/absolute/path/to/function.php"); addUser("some user");'
这应该有效。因为您基本上是在'
s 之间执行所有代码。并且您可以包括function.php
并且应该适当地调用addUser()
.
请参阅phpdoc。
您将命令行参数传入argv数组:
function addUser($username) {
//do some stuff
}
addUser( $argv[1] );
您可以使用 $argv。$argv[0] = 文件名,$argv[1] = 文件名之后的第一件事。
即 php function.php "some arg" 将是 addUser("some arg");
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);
}
}
这对我有用!