php 文章列表,PHP创建文章列表的方法

我打算写函数动态创建文章和新闻列表,但不知道究竟什么是正确的方法.

我有/ articles和/ news文件夹包含article1.php,article2.php等文件.

这些文件包含变量$date(发布日期),$type(新闻/文章),$h1,$h2(标题,副标题),$short(要在列表中显示的短paraghaph).

我想在一个页面上创建这些文件的列表.

$content

是否会更好:

1.

>在articlelist.php中写while while循环:

[pseudocode]

$content = "";

while (get another filename from /articles)

include filename

$content .= (variables from filename.php parsed into html)

display $content

>第二个是newslist.php的相同循环.

(使用这种方法,例如按日期排序文章可能很困难.)

或者可能:

2.

>创建articlearray.php和newsarray.php文件,将表格中每篇文章和新闻文件的数据存储在数组中:value = $date:[$type,$h1,$h2,$short]

>创建解析数组函数将整个给定数组解析为HTML(包含来自所有文件的数据)

>在articlelist.php和newslist.php中调用$content = parsearray(…)

>显示$content.

还是有其他更好的解决方案吗?

编辑:

我没有任何数据库,因为文章/新闻非常少.如果真的有必要,我会使用一个,但是现在请假设它应该用纯PHP完成. (我也问这个问题是为了学习目的,不仅实用.)

最佳答案 首先:建议管理您的内容和/或不同文件中的代码(为了更好的可理解性和可维护性),但不是强制性的.我会选择以下方法.将您的内容分成三个文件:

> index.php(包含“主要”功能)

> data.php(包含数据)

> functions.php(包含可调用函数)

的index.php

// index.php

require_once 'data.php';

require_once 'functions.php';

$allowedModules = array('articles', 'news');

if(empty($_GET['m']) || null === $_GET['m']) {

die('Module is required');

} else {

$module = $_GET['m'];

}

if(!in_array($module, $allowedModules)) {

die('Invalid module');

}

echo execute($module);

data.php

// data.php

$data = array(

'articles' => array(

array(

'date' => '2014-06-10',

'type' => 'article',

'h1' => 'My Headline #1',

'h2' => 'Subheadline #1',

'short' => 'My teaser'

),

array(

'date' => '2014-06-09',

'type' => 'article',

'h1' => 'My Headline #2',

'h2' => 'Subheadline #2',

'short' => 'My teaser'

)

),

'news' => array(

array(

'date' => '2014-06-08',

'type' => 'news',

'h1' => 'My News Headline #3',

'h2' => 'Subheadline #3',

'short' => 'My teaser'

),

)

);

的functions.php

// functions.php

function execute($module) {

global $data;

$content .= '

';

foreach($data[$module] as $item) {

$content .= '' . $item['date'] . '';

$content .= '

'. $item['h1'] . '

';

// $content .= ...

}

$content .= "

";

return $content;

}

现在您可以通过index.php?m = articles或index.php?m = news来调用您的页面来显示您的文章或新闻.

旁注:这种方法使得以后在某种程度上可以轻松切换到数据库.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值