1

假设我有一个私有函数addUser()function.php$username作为输入变量并做了一些事情:

function addUser($username) {

//do some stuff

}

现在我想调用这个函数并传递值 $username,如果可能的话,使用 PHP CLI。我想这在外面是行不通的,function.php因为它是私人的,但我怎么能这样做呢?

4

4 回答 4

4
php -r 'include("/absolute/path/to/function.php"); addUser("some user");'

这应该有效。因为您基本上是在's 之间执行所有代码。并且您可以包括function.php并且应该适当地调用addUser().

请参阅phpdoc

于 2012-10-10T08:12:45.817 回答
2

您将命令行参数传入argv数组:

function addUser($username) {

//do some stuff

}

addUser( $argv[1] );
于 2012-10-10T08:10:03.883 回答
0

您可以使用 $argv。$argv[0] = 文件名,$argv[1] = 文件名之后的第一件事。

即 php function.php "some arg" 将是 addUser("some arg");

于 2012-10-10T08:10:18.977 回答
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);
    }
}

这对我有用!

于 2017-06-29T11:26:01.093 回答