假设我有一个User
模型,在我的应用程序中,我需要显示他的头像以及他的个人资料的链接。
现在我发现使用虚拟属性非常有用。所以在我的User
实体文件中我做了类似的事情:
protected function _getAvatar()
{
return "<a href='users\profile".$this-id."'><img src='".$this->avatar_url."'></a>";
}
因此,每当我需要在视图中显示头像时,我只需编写
<?= $user->avatar ?>
(这只是一个获得想法的简化示例,而不是实际代码)
我的问题是:如何在User.php文件中使用Html助手?
但另一个问题出现了:即使上面的代码非常方便,我觉得它打破了MVC模式。那么这是获得我需要的正确方法吗?
答案 0 :(得分:1)
你有充分的理由持怀疑态度,这真的不是应该怎么做的。
让实体以某种方式改变数据是一回事,但是表现逻辑,不,这真的太过分了,帮助者是视图!现在,只需使用自定义帮助器,单元格或元素,然后将实体传递给它们。
将来可能有entity presenters可能更适合。