我正在用php学习MVC。 我看到了以下示例PHP MVC示例
$model = new Model();
$controller = new Controller($model);
$view = new View($controller, $model); // $model already inside $controller!
如果您注意到代码,$ controller对象已经包含$ model。那么$ view可以通过$ controller访问数据$ model。那么为什么我们需要再次将$ model对象和$ controller一起传递到$ view中呢?请帮忙。
答案 0 :(得分:0)
代码示例:
class UserModel
{
public function getUserId()
{
return 100500;
}
public function getUserAddress()
{
return /*here is some data*/
}
}
class Controller
{
private $userId;
public function __construct(UserModel $model)
{
$this->userId = $model->getUserId();
}
}
$controller = new Controller(UserModel);
如您所见,我们在控制器内部没有模型UserModel(只有id)。但是,如果您需要功能getUserAddress()怎么办?您必须将物体放入其中