【发布时间】:2015-12-31 20:07:43
【问题描述】:
问题:视图数据处理的所有逻辑应该放在哪里?
例子:
请求页面以显示帖子。视图 post.blade.php 具有不同的显示部分,具体取决于用户之前所做的事情(例如,竖起大拇指)。同一个视图的其他部分需要显示一些格式化的文本,结合各种模型字段,这是 Post 模型最初没有的。简而言之,一些主要的处理还在继续。
我想我可以在视图中完成所有这些操作,但是拥有一个没有任何 php 代码的视图不是更好吗?
-
我考虑过制作视图助手来解决这个问题。喜欢:
class PostViewHelper { private $post; // decide which image to display public function getImage1() { // check if user has already given a thumbs up } // decide how to display text public function getText1() { // construct a text using post fields } }视图将使用此对象向用户显示数据。
还有这个视图作曲家的东西。也许这是拥有所有显示逻辑的地方? PostViewComposer 将完成所有工作并将格式化数据传递给视图。
你有什么建议?
【问题讨论】:
-
我会在视图中做这一切。如果竖起大拇指使用此视图,如果不使用另一个。
-
使用 all javascript 并从 ajax 获取数据也是一种选择。
标签: laravel view formatting data-processing