CodeIgniter框架教程:静态页面的创建与管理
前言
在Web开发中,静态页面是网站的基础组成部分。本文将详细介绍如何在CodeIgniter框架中创建和管理静态页面,适合刚接触CodeIgniter的开发者学习。
控制器(Controller)基础
控制器在CodeIgniter中扮演着核心角色,它负责处理请求并协调模型和视图的工作。我们可以把控制器想象成应用程序的"交通指挥中心"。
创建一个处理静态页面的控制器步骤如下:
- 在
application/controllers/
目录下创建Pages.php
文件 - 定义一个继承自
CI_Controller
的Pages
类 - 添加一个
view
方法来处理页面请求
<?php
class Pages extends CI_Controller {
public function view($page = 'home') {
// 方法内容将在后面补充
}
}
视图(View)模板设计
良好的视图结构能提高代码复用性和维护性。我们采用以下模板结构:
- 头部模板 (
header.php
): 包含HTML文档头部和页面标题 - 主体内容: 各个页面的具体内容
- 底部模板 (
footer.php
): 包含版权信息和闭合标签
头部模板示例:
<html lang="zh-CN">
<head>
<title>CodeIgniter教程 - <?php echo $title; ?></title>
</head>
<body>
<h1><?php echo $title; ?></h1>
底部模板示例:
<em>© <?php echo date('Y'); ?></em>
</body>
</html>
完善控制器逻辑
现在我们需要完善控制器的view
方法,使其能够:
- 检查请求的页面是否存在
- 动态设置页面标题
- 加载相应的视图模板
public function view($page = 'home') {
// 检查视图文件是否存在
if (!file_exists(APPPATH.'views/pages/'.$page.'.php')) {
show_404(); // 显示404页面
}
// 准备数据
$data['title'] = ucfirst($page); // 首字母大写
// 加载视图
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
}
创建静态页面
在application/views/pages/
目录下创建实际的页面文件,例如:
home.php
: 网站首页内容about.php
: 关于我们页面
每个文件只需包含该页面的特定内容,不需要重复的HTML结构。
路由配置
CodeIgniter提供了灵活的路由配置,我们可以简化URL结构:
- 打开
application/config/routes.php
- 添加以下路由规则:
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
这样配置后:
- 访问根目录(如
/
)将显示home页面 - 访问
/about
将自动路由到about页面 - 任何不存在的页面将显示404错误
最佳实践建议
- 错误处理: 始终检查文件是否存在,避免直接加载不存在的视图
- 数据传递: 使用
$data
数组向视图传递变量,保持代码整洁 - 模板复用: 公共部分(如页眉页脚)提取为独立模板文件
- 命名规范: 控制器类名首字母大写,方法名小写
- 安全考虑: 对传入的页面参数进行过滤,防止目录遍历攻击
总结
通过本教程,我们学习了如何在CodeIgniter中:
- 创建控制器处理静态页面请求
- 设计可复用的视图模板结构
- 实现动态页面加载机制
- 配置简洁的URL路由规则
这种结构不仅适用于静态页面,也为后续开发动态内容打下了良好基础。掌握这些概念后,你可以轻松扩展出更复杂的网站功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考