【问题标题】:Show/Hide page parts based on own/foreign profile根据自己/外国个人资料显示/隐藏页面部分
【发布时间】:2013-05-17 22:10:54
【问题描述】:

我正在建立一个社交网络,但我想不出解决这个问题的最佳方法:

例如对于个人资料页面 - 根据两个用户的友谊状态,或基于用户查看自己或外国个人资料的事实,显示/隐藏个人资料页面不同部分的最佳方式是什么。

可以在 VIEW 中使用表示逻辑吗?类似的东西

<?php if ($logged_user_id==$viewed_profile_user_id) {echo "This is your profile"} ?>

或者显示“视图部分”(图像、状态、用户朋友等)的所有逻辑都应该在控制器中吗?

谢谢

【问题讨论】:

    标签: php codeigniter templates


    【解决方案1】:

    当你输入 “在 VIEW 中有表示逻辑可以吗?”时,你回答了你自己的问题。 如果是表示逻辑,它当然属于表示层。业务逻辑应该确定您可以看到什么,以及在哪个详细级别 - 演示应该决定如何显示它。

    至于好友示例,这是业务逻辑的一部分(获取非好友列表)。它还应该设置一个像“ConnectionLevel”这样的标志,然后表示逻辑可以决定它没有朋友列表是因为你不是直接连接,还是因为用户实际上没有朋友,并以此为基础输出。

    【讨论】:

    • 是的,谢谢...我的回答中的“演示逻辑”当然应该是“业务逻辑”。所以你是说,所有的业务逻辑——显示或不显示页面的某些部分,都应该在控制器中?
    • 不,它应该向视图呈现可用数据。它应该确定连接级别,然后让视图根据该数据决定如何最好地显示结果。在某些情况下是的,业务逻辑可以向表示逻辑提供CanSeeFriendsIsOwnProfile 之类的标志,但是您示例中的代码肯定应该在视图中(基于数据的输出)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2012-05-24
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多