这可能吗?
class Foo {
public function bar() {
return true;
}
}
class Foo2 {
$fooey = new Foo;
public function bar2() {
if ( $fooey->bar ) {
return 'bar is true';
}
}
}
我意识到上面的内容不起作用,因为我需要在bar2的范围内获得$ fooey。我该怎么做?
提前致谢。
答案 0 :(得分:2)
您无法在函数外部的类中创建对象,因此请使用__construct
,因为它将在创建对象时首先运行。
<?php
class Foo {
public function bar() {
return true;
}
}
class Foo2 {
private $fooey = null
public __construct() {
$this->fooey = new Foo();
}
public function bar2() {
if ( $this->fooey->bar ) {
return 'bar is true';
}
}
}
?>
答案 1 :(得分:0)
您所拥有的是无效的PHP语法。我相信你正在寻找这样的东西:
class Foo {
public function bar() {
return true;
}
}
class Foo2 {
private $fooey;
public function __construct() {
$this->fooey = new Foo;
}
public function bar2() {
if ( $this->fooey->bar() ) {
return 'bar is true';
}
}
}
$obj = new Foo2;
$obj->bar2(); // 'bar is true' will be printed
您需要在构造函数中初始化事物(或将其作为变量传递)。
您需要使用$this
来引用自己的属性。