Php 类中的$argv
我正在使用Php 类中的$argv,php,class,argv,Php,Class,Argv,我正在使用exec()来执行一个文件,但该文件在类中,我阅读了更多关于argv的内容,但它令人困惑。我需要让它在课堂上发挥作用 它说: 请注意,$argv和$argc在尝试在类方法内访问时需要声明为全局 在php.net上,这意味着argc/argv不是超全局的-它们只在php脚本的顶级上下文中可见,所以 <?php $x = $argv[1]; // works class foo { function bar() { echo $argv[1]; // unde
exec()
来执行一个文件,但该文件在类中,我阅读了更多关于argv的内容,但它令人困惑。我需要让它在课堂上发挥作用
它说:
请注意,$argv和$argc在尝试在类方法内访问时需要声明为全局
在php.net上,这意味着argc/argv不是超全局的-它们只在php脚本的顶级上下文中可见,所以
<?php
$x = $argv[1]; // works
class foo {
function bar() {
echo $argv[1]; // undefined
}
function baz() {
global $argv;
echo $argv[1]; // works
}
}
我将argv作为参数添加到类构造函数中
class MyClass
{
protected $args;
public function __construct($args)
{
$this->args = $args;
}
public function foo()
{
$this->args[1]; //access args using $this->args
}
}
$myClass = new MyClass($args);
目标是什么?参数用于控制台执行。这也可以通过使用$GLOBALS['argv']…
来完成。在这种情况下,将变量复制到当前范围或试图使其超全局是不可取的。