.
CodeIgniter框架深入理解
1.CodeIgniter是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。如果你是一个使用共享主机,并 且为客户所要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架那么 CodeIgniter 就是你所需要的。CodeIgniter 是一个基于MVC框架的PHP开源轻量级框架 ,适合快速开发,相对与Zend Freamwork,其更容易学习和应用,而且CodeIgniter 入门简单,配置方便
2.对于标准的MVC框架来说,Model(模型) 是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据; View(视图) 是应用程序中处理数据显 示的部分也就是用户能够看到的界面,通常视图是依据模型数据创建的;Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用 户输入,并向模型发送数据,最后,将模型返回的数据发送给视图,显示在界面上。
Controller层往往是程序的入口(网页的地址就是 Controller层的地址 ) ,然后由 Controller层加载 View层进行显示(显示在浏览器上的页面 其实并不是你输入的地 址),在View层用户通过表单实现交互,表单将数据传回 Controller层,由 Controller层调用Model层进行数据处理、存储、读取等操作,然后Model 层将处理结果返回 给 Controller层, Controller层再次加载View层显示处理的结果
3.配置CI开发环境
(1)在开发工具中创建工程目录ci(名字随便),把CodeIniter压缩包解压后的所有文件(不复制根目录)再复制到eclipse中的工程ci中
使用文本编辑器打开 application/config/config.php 文件设置你网站的根 URL,如果你想使用加密或会话,在这里设置上你的加密密钥;
如果你想通过隐藏 CodeIgniter 的文件位置来增加安全性,你可以将 system 和 application 目录修改为其他的名字,然后打开主目录下的 index.php 文件将 $system_path 和 $application_folder 两个变量设置为你修改的名字。
(2)为更好的安全性,system 和 application 目录都应该放置在 Web 根目录之外,这样它们就不能通过浏览器直接访问。CodeIgniter 默认在每个目录下都包含了一个 .htaccess 文件,用于阻止直接访问,但是最好还是将它们移出能公开访问的地方,防止出现 Web 服务器配置更改或者 .htaccess 文件不被支持这些情况。
(3)配置数据库文件。在application\config\database.php中,一般修改以下内容
'dsn' => 'mysql:host=localhost;dbname=ci',
//'hostname' => 'localhost',用pdo时注释掉,下同
//'database' => 'ci',
'username' => 'root',
'password' => '',
'dbdriver' => 'pdo',//默认数据库驱动是mysqli,一般改为pdo对象操作数据库
(4)在config.php中设置默认地址$config[‘base_url’] = ‘http://localhost/CodeIgniter/’;
(5)路由配置在applicaiton\config\routes.php中,
$route[‘default_controller’] = ‘welcome’;//可以修改
4.编写控制器方法和静态页面
例子http://example.com/news/latest/10 有一个叫做 “news” 的控制器,被调用的方法为 “latest” , 这个方法的作用应该是查询 10 条新闻条目并显示在页面上
新建一个文件 application/controllers/Pages.php ,然后添加一个view方法
<?php
class Pages extends CI_Controller {
public function view(KaTeX parse error: Expected '}', got 'EOF' at end of input: …/views/pages/'.page.’.php’)){
show_404();
}
$data['title'] = ucfirst($page);
$this->load->view('tempates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('tempates/footer', $data);//view() 方法的第二个参数用于向视图传递参数,$data 数组中的每一项将被赋值给一个变量
}
}
新建两个视图(页面模板)分别作为我们的页脚和页头
新建页头文件 application/views/templates/header.php 并添加以下代码:
<h1><?php echo $title; ?></h1>
新建页脚文件application/views/templates/footer.php ,然后添加以下代码:
© 2015
解释: 标签告诉浏览器把其中的文本表示为强调的内容。对于所有浏览器来说,这意味着要把这段文字用斜体来显示。
静态页面模板位于 application/views/pages/ 目录,在该目录中,再新建两个文件 home.php 和 about.php 内容随便写其中之一比如
<p>Let's start to study CodeIniter now!</p>
</body>
</html>
5.测试页面
控制器现在开始工作了!在你的浏览器中输入 http://localhost/CodeIgniter/index.php/pages/view来查看你的页面。当你访问 在view后面加上/about 时你将看到about 页面,包括页头和页脚。
如果不行有进可以在地址的index.php后加上?,如果提示404错误可能是控制器或页面文件里的文件名或位置错误
6.可以隐藏入口文件index.php,在url总中显示入口文件不太美观,如果要隐藏可以进行如下设置(路由配置文件中也能更方便的设置隐藏)。
(1)服务器配置文件http.conf中开启重写
LoadModule rewrite_module modules/mod_rewrite.so
这条前面不可有#,如果没有这条加上即可
(2)在网站根目录下新建文件.htaccess,属于隐藏文件,可新建文件后另存为时修改名字,
7.创建数据库模型
打开 application/models/ 目录,新建一个文件 News_model.php ,然后写入下面的代码。 确保你的 数据库配置正确