Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于自有/外来配置文件显示/隐藏页面部件_Php_Codeigniter_Templates - Fatal编程技术网

Php 基于自有/外来配置文件显示/隐藏页面部件

Php 基于自有/外来配置文件显示/隐藏页面部件,php,codeigniter,templates,Php,Codeigniter,Templates,我正在建立一个社交网络,我想不出解决这个问题的最佳方法: 例如,对于个人资料页面-基于两个用户的友谊状态,或者基于用户查看自己或国外个人资料的事实,显示/隐藏个人资料页面不同部分的最佳方式是什么 可以查看演示逻辑吗?差不多 或者显示“视图部件”(图像、状态、用户朋友等)的所有逻辑都应该在控制器中吗 谢谢当您键入“查看表示逻辑可以吗?”时,您回答了自己的问题。如果是表示逻辑,那么它当然属于表示层。业务逻辑应该确定您可以看到什么,以及在哪一个详细级别—演示应该决定如何呈现它 对于朋友示例,这是业务

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

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

可以查看演示逻辑吗?差不多

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


谢谢

当您键入“查看表示逻辑可以吗?”时,您回答了自己的问题。如果是表示逻辑,那么它当然属于表示层。业务逻辑应该确定您可以看到什么,以及在哪一个详细级别—演示应该决定如何呈现它

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

是的,谢谢。。。我的答案中的“表示逻辑”当然应该是“业务逻辑”。所以,您的意思是,所有业务逻辑(显示或不显示页面的某些部分)都应该在controller中?不,它应该向视图显示可用数据。它应该确定连接级别,然后让视图根据该数据决定如何最好地显示结果。在某些情况下,是的,业务逻辑可以向表示逻辑提供诸如
CanSeeFriends
IsOwnProfile
之类的标志,但是您的示例中的代码肯定会出现在视图中(基于数据的输出)。