动态详情页:通过PHP实现动态详情页,把内容动态加载显示在网页上,例如内容列表中点击一个文章标题就跳转到这篇文章的详情页,这是使用动态页面技术实现的后端使用PHP处理,在对数据进行展示的时候,是直接通过后台提供的接口来获取json数据展示。
动态详情页-PHP动态读取数据
创建4.4_adding_a_detail_page文件夹,把上节课《JSON数据解析和输出》代码复制粘贴到本节课使用。
第一步、在列表中点击terms和definition链接到详情页面
1、在index.view.php添加代码
2、创建detail.php文件,把index.php代码复制过来设置$_GET超级全局获取term信息,如果没有设置的话,就跳转到index.php
4、detail.php控制器的编码思路
程式解释
- 如果term没有设置,就跳转到index.php;
- 如果设置了,就把获取到term保存到$data;
- 如果data返回假的,就跳转到404页面结束;
- 如果$data比较是真的,就把$data传递detail.view.php视图
5、在file_functions.php编写get_term函数
function get_term($term){
$terms = get_terms();
foreach ($terms as $item) {
if ($item->term == $term) {
return $item;
}
}
return false;
}
程式解释:
1、get_term函数我们需要知道获取什么样的$term,把$term传递传递到get_term
2、把get_terms()数组储存在$terms变量
3、遍历$terms数组每项;
4、检查遍历出来的每项是否等于传给get_term函数的参数
1、如果遍历的每项与传递进来$item比较是真的,则返回遍历的$item;
2、如果遍历的每项与传递进来$item比较找不到匹配的,则返回假;
6、回到detail.php把title设置为动态
7、创建detail.view.php视图输出$data的definition内容
第二步、处理没有数据的get请求
比如/detail.php?term=js修改为不存在的/detail.php?term=xml,对于不存在的term处理:
1、创建一个notfound视图notFound.view.php
2、修改deatail.php
3、刷新报错:
4、修改functions.php的view函数,$model变量一个等于空的值
第三步、回到detail.php文件做调整
- 如果term没有设置,就回到index.php
- 我们获取指定的term
- 不存在,就找不到
- 存在,我们就用这个term
- 把值传递给标题$title
转载请注明:林雍岷 » 第十七节:PHP创建动态详情页