实体

时间:2015-08-17 13:54:06

标签: php cakephp cakephp-3.0

假设我有一个User模型,在我的应用程序中,我需要显示他的头像以及他的个人资料的链接。

现在我发现使用虚拟属性非常有用。所以在我的User实体文件中我做了类似的事情:

protected function _getAvatar()
{
    return "<a href='users\profile".$this-id."'><img src='".$this->avatar_url."'></a>";
}

因此,每当我需要在视图中显示头像时,我只需编写

<?= $user->avatar ?>

(这只是一个获得想法的简化示例,而不是实际代码)

我的问题是:如何在User.php文件中使用Html助手?

但另一个问题出现了:即使上面的代码非常方便,我觉得它打破了MVC模式。那么这是获得我需要的正确方法吗?

1 个答案:

答案 0 :(得分:1)

你有充分的理由持怀疑态度,这真的不是应该怎么做的。

让实体以某种方式改变数据是一回事,但是表现逻辑,不,这真的太过分了,帮助者是视图!现在,只需使用自定义帮助器,单元格或元素,然后将实体传递给它们。

将来可能有entity presenters可能更适合。