Wal*_*han 7 php variables global
所以我有两个这样的类:
class foo {
/* code here */
}
$foo = new foo();
class bar {
global $foo;
public function bar () {
echo $foo->something();
}
}
Run Code Online (Sandbox Code Playgroud)
我想在所有方法栏中访问foo的方法,而不是在bar内的每个方法中声明它,如下所示:
class bar {
public function bar () {
global $foo;
echo $foo->something();
}
public function barMethod () {
global $foo;
echo $foo->somethingElse();
}
/* etc */
}
Run Code Online (Sandbox Code Playgroud)
我也不想延长它.我尝试使用var关键字,但似乎没有用.我怎么做才能在bar的所有方法中访问其他类"foo"?
你也可以这样做:
class bar {
private $foo = null;
function __construct($foo_instance) {
$this->foo = $foo_instance;
}
public function bar () {
echo $this->foo->something();
}
public function barMethod () {
echo $this->foo->somethingElse();
}
/* etc, etc. */
}
Run Code Online (Sandbox Code Playgroud)
以后你可以这样做:
$foo = new foo();
$bar = new bar($foo);
Run Code Online (Sandbox Code Playgroud)