php - PHP MVC:我们需要将模型对象传递给视图对象吗?
问题描述
我正在用 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?请帮忙。
解决方案
代码示例:
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() 怎么办?你必须把物体放在里面
推荐阅读
- javascript - 动态选项卡不显示内容 Javascript
- mkdocs - 命令:
错误类型错误:+ 的不支持的操作数类型:“int”和“str” - amazon-web-services - 将角色/用户添加到 AWS 服务目录组合
- elementor - 如何使用 Elementor 设置自定义查询过滤器以返回具有与设置条件匹配的帖子对象(多值)的自定义字段的帖子?
- javascript - Ejs 个人资料卡格式
- android - Tablayout 在 Android 上的 Activity 中使用 viewpager2 覆盖 recyclerview
- css - 当父 div 包含另一个带有 display: inline-block 的空 div 时,父 div 高度不正确,
- reactjs - React authentication 确认密码 逻辑怎么设置我看不懂
- amazon - 特定卖家 ID 的亚马逊添加到购物车产品链接
- matlab - 使用while从matlab中的列接收数据