所以我有两个这样的类:
class foo { /* code here */ } $foo = new foo(); class bar { global $foo; public function bar () { echo $foo->something(); } }
我想在所有方法栏中访问foo的方法,而不是在bar内的每个方法中声明它,如下所示:
class bar { public function bar () { global $foo; echo $foo->something(); } public function barMethod () { global $foo; echo $foo->somethingElse(); } /* etc */ }
我也不想延长它.我尝试使用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. */ }
以后你可以这样做:
$foo = new foo(); $bar = new bar($foo);