【发布时间】:2012-08-17 19:21:20
【问题描述】:
我有一些 html 代码,其中包含一些 php 变量,它描述了我的搜索结果中单个条目的内容(例如图片、姓名、共同朋友的数量等) - 这在我的代码中称为 search_results_v.php以下。我有一个数组,其中包含来自数据库的多条记录,并且对于每一条记录,我都会创建一个搜索结果条目。我构建程序的方式是 MVC,所以 html 代码是视图,我有一个 php 控制器。
但是,我有一个网站模板,并希望在此模板中包含我的搜索结果。这可以通过在此网页的适当部分调用我的控制器轻松解决,但我想让我的应用程序让控制器控制一切!在我刚刚提到的情况下,视图正在调用控制器,但我想要一个像下面这样的设置,我只是在我的控制器中“包含”网页。
如何在网页中呈现我的搜索结果,同时尽量减少其中的 php 逻辑数量?我正在考虑这样做的一种方法是将所有搜索结果的所有 html 代码存储在一个 php 字符串变量中,然后在我的网页中引用这个变量。 html 代码如何存储在该变量中?
// Generates my search result box - Fill in the profile picture, the name and the number of mutual friends
foreach ($resultsInfo as $entry) {
$uid = $entry['uid'];
$pic_link = $entry['pic_square'];
$name = $entry['name'];
$mfCount = $entry['mutual_friend_count'];
include('searchresults_v.php');
}
编辑:好的,也许我想要的并不是一个 MVC。我试图尽可能多地将实际的后端编码从界面中分离出来,以便更熟练的人可以进来设计一个界面。我基本上想生成所有动态数据,并在我的 html 文件中添加一些占位符,以便内容可以直接插入。我不希望其中有任何逻辑来混淆可能只有网页设计经验的人.
让我知道我应该把我的标题改成什么。
【问题讨论】:
-
在MVC中,HTML代码不是视图,控制器不是控制一切
-
@orourkek 你为什么这么说? CodeIgniter 建议你将 HTML 代码放在视图中,你还会把它放在哪里? codeigniter.com/user_guide/general/views.html
-
@PeteHerbertPenito 因为 CodeIgniter 不是 MVC 框架?正确的 MVC 视图不是模板。模板不能向模型发出请求或管理模板,就像视图实际上应该做的那样......而且他从未提到过 CodeIgniter,所以我不知道你为什么会提出它
-
@orourkek lol 听起来你需要阅读一下:phpmaster.com/untangling-mvc-with-codeigniter
标签: php html model-view-controller