php - 如何从另一个类中的一个类中获取变量?
问题描述
我有 2 节课:User
和Answer
我在 User 类中定义名称是“Peter”
如何在User
实例内部获取Answer
实例中定义的名称?
$user= new User();
$user->name = "Peter";
$answer = new Answer();
echo $answer->getListAnswer(); //how can I get the name of the User (Peter) in the function getListAnswer() in the Class Answer?
解决方案
将User
实例注入Answer
实例。像这样,例如:
class Answer
private $user;
public function __construct(User $user) {
$this->user = $user;
}
public function getListAnswer() {
$userName = $this->user->name;
// rest of your method.
// Use $userName where you need it.
}
}
首先你User
像往常一样创建你的对象:
$user = new User();
$user->name = "Peter";
在构造函数中,Answer
我们声明它需要(依赖于)一个User
对象。所以你传递你刚刚创建的用户对象来实例化一个新的Answer
:
$answer = new Answer($user);
echo $answer->getListAnswer();