CodeIgniter剖析(1)

简介:
 下载CodeIgniter1.7并解压缩后,将index.php和system目录拷贝到web服务器的根目录下,这样就完成了CodeIgniter的安装。

         安装完后可以看下system目录下的结构。Application是你自己项目存放文件的目录(简单来说,控制器,模型和视图都在这里)。System目录下其他文件夹是CodeIgniter自身的代码,比较常用的有libraries等。

         要建立一个网站,一些常用的配置是首先需要做的.config文件夹中包含了一些为网站设定基本配置的文件,打开 config.php,可以看到有许多配置项,例如

$config['base_url']用来配置网站的根目录

         CI是一个实现了MVC模式的轻量级PHP框架,最重要的三个文件夹就是application目录下的models,views和controllers这三个子目录。

         用户的所有访问请求首先被index.php这个路由器所拦截并进行处理,比如请求链接是:http://localhost/index.php/welcome/inde,并且你有一个控制器名为welcome,那么index.php这个路由器就会调用welcome这个控制器。

         我们可以来看下welcome控制器的代码

 class Welcome extends Controller

 {

 

         function __constructor()

         {

                   parent::Controller();       

         }

        

         function index()

         {

                   $this->load->view('welcome_message');

         }

}

         首先是定义控制器类Welcome,它继承自Controller类。CI要求控制器类名称首字母大写,但文件名是小写。构造函数中你可以做一些初始化的工作,比如调用第三方类库或模型,或者定义类的成员变量。父类Controller的代码在/system/libraries/Controller.php中。

         再回到对用户请求处理那部分来,index.php不仅要知道请求该由哪个控制器来处理,而且要知道是控制器里的哪个函数,这就是/welcome/index的原因,路由器会在welcome控制器中查找一个名为index的函数。

         我们来看index函数,它里面只是用CI的装载函数(this->load->view)载入一个视图(“welcome_view”)。

实际上welcome_view视图指向的是system/application/views/welcome_view.php这个文件,控制器可以定义相应的变量,并传递到视图中进行显示。

         如果请求中没有指明具体的控制器,CI会将页面重定向到一个系统默认的控制器中进行处理,这个默认控制器可以在config/routes.php文件中进行设置,

$route['default_controller'] = "welcome";

如果你不设定默认值,那么请求会被定向到’404 not found’页面去的。此外,如果没有指定函数,那么/index会被默认选中。

         你可能会注意到CI有两组辅助函数,类库,一组在application文件夹中,另一组放在system文件夹中。两者的区别在于,system文件夹中的代码是CI的核心代码,所有项目都会使用,如果升级到一个新版本CI,那么这些文件会被修改,而那些在application文件夹中的代码只能用于一个应用程序,升级新版本CI时,不会被覆盖。当你装载一个辅助函数或类库时,CI会首先在system/application/libraries文件夹中查找,找不到的情况下再到system/libraries下查找。

         设计一个视图一般需要三个步骤,1)编写一个视图页面 2)编写一个形式表 3)修改c onfig文件以指定样式表的位置。

本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2011/02/11/1951191.html,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
前端开发 中间件 PHP
|
4月前
|
测试技术 PHP 数据库
深入解析PHP框架:Symfony框架详解与应用
📚 Symfony框架深度解析:模块化设计提升开发效率,性能优越,灵活性高,支持MVC模式。探索控制器、路由、模板(如Twig)、服务容器、事件调度器等核心概念。还包括表单处理、数据库集成( Doctrine ORM)、安全组件、国际化支持及调试工具。使用Symfony CLI快速创建应用,内置PHPUnit测试支持。开始你的高质量Web开发之旅吧!
74 2
|
4月前
|
缓存 中间件 API
PHP框架详解 - Laravel 框架
PHP框架详解 - Laravel 框架
|
4月前
|
设计模式 前端开发 PHP
PHP框架详解 - CodeIgniter 框架
PHP框架详解 - CodeIgniter 框架
|
5月前
|
前端开发 PHP 数据库
PHP框架详解之Symfony框架
在现代Web开发中,PHP作为一种灵活且功能强大的编程语言,广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性,开发者通常会选择使用框架来构建应用程序。在众多PHP框架中,Symfony以其强大的功能和灵活性脱颖而出,成为开发者们的首选之一。本文将详细介绍Symfony框架,包括其历史、核心功能、组件、安装和使用方法,以及在实际开发中的应用案例。
48 2
|
4月前
|
存储 缓存 安全
PHP框架详解 - symfony框架
PHP框架详解 - symfony框架
|
SQL 前端开发 程序员
Laravel和Thinkphp有什么区别,哪个框架好用
Laravel和Thinkphp有什么区别,哪个框架好用
748 0
|
开发框架 PHP 容器
codeigniter-3.1 PHP开发框架
环境需求 最低硬件配置:1核CPU,1G内存(1+1)提示:如果你的应用较多,而主机节点的硬件配置较低,建议在部署节点时开通虚拟虚拟内存; 生产环境建议使用2G或以上内存; 推荐安装系统:Ubuntu-16.
1014 0
|
SQL 缓存 PHP
**【ci框架】精通CodeIgniter框架
http://blog.csdn.net/yanhui_wei/article/details/25803945 一、大纲     [php] view plaincopy   1、codeigniter框架的授课内容安排   2、codeigniter框架...
1286 0