我正在开发评论/内容/发布系统并在路上遇到岔路口,所以我想在选择路径之前我应该征求其他意见。抱歉,目前我没有足够好的工作示例来展示(或者我可以分享的示例),所以希望我的描述足够。
我有一个 index.php 主页,它调用 loadmore.php 来请求用户帖子在 div 中显示。loadmore.php 从 MySQL 数据库中获取这些数据。
每个帖子可以是不同的类型,并且在显示在屏幕上时会有所不同。
示例(所有帖子都显示发布的用户和顶部的日期):
- POST:定期发布,仅文本。
- 链接:将链接页面的标题显示为超链接、旁边的小缩略图以及从链接站点中提取的文本片段。
- 图片:显示带有标题的大图片。
- VIDEO:在顶部显示标题,标题下的视频占div宽度的一半,视频的描述在视频旁边。
不要关心格式等,我只是想表明每个帖子的格式会根据帖子的类型而不同,并且 HTML 可能很长。
现在,这就是我想知道的;生成或选择的 HTML 应该从哪里来?(为简单起见,我使用的是伪代码)
选项 1。我可以在 index.php 页面本身的 ajax/js 中拥有各种 HTML“模板”,然后使用一堆 IF 语句填充变量,但我不确定这应该在索引文件中。
索引.php
<div id="mainContainer">
//Content
<div id="postsContainer">
//Individual posts go in here (Several divs formatted according to content)
</div>
//More content
</div>
<script>
GET data to loadmore.php and get results into variables
IF "type" is "link"
append to #postsContainer "<div id="linkURL"....$variables etc...
IF "type" is "video"
append to #postsContainer "<div id="videoDiv"....$variables
//And so on...
</script>
加载更多.php
<?PHP
//Get and process post data into variables
//Query SQL database for more/new posts
//Return individual data in JSON format to index.php
?>
选项 2。或者,我可以让 loadmore.php 使用 IF 语句来返回要在 index.php 中添加的适当 HTML 字符串,但我发现在 2 个 PHP 文件服务器之间传递这么多长的 HTML 字符串效率低下 -只有变量可以传递的时候。
index.php(注:只有脚本部分不同)
<div id="mainContainer">
//Content
<div id="postsContainer">
//Individual posts go in here (Several divs formatted according to content)
</div>
//More content
</div>
<script>
//GET data to loadmore.php and get resulting HTML string
//Append to #postsContainer the HTML string returned from loadmore.php
</script>
加载更多.php
<?PHP
//Get and process post data into variables
//Query SQL database for more/new posts
IF "type" is "link"
$returnHTML = "<div id="linkURL....$variables etc...
IF "type" is "video"
$returnHTML = "<div id="videoDiv....$variables
//And so on...
return $returnHTML;
//This is a single long string returned with all HTML formatted by loadmore.php
//index.php simply has to Append the entire string into the div
?>
最好的路线是什么?为什么?
对不起,如果它看起来很乱,我还在习惯这个网站的格式化方法......