首页 > 作文

CI框架学习笔记(一) – 环境安装、基本术语和框架流程

更新时间:2023-04-06 20:53:22 阅读: 评论:0

最开始使用ci框架的时候,就打算写一个ci源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动。最近项目少,总算是有了一些时间去写一些东西。于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛我的未来不是梦歌词!基本术语说明

  在本文开始之前,有必要对文中反复出现的术语做一个简单的说明,如果你对这一部分已经熟谙,完全可以略过。本文中反复出现和提及的术语包括:

前端控制器(front controller):

  用于集中控制用户的所有请求的组件,将用户的请求发送到具体的应用程序控制器。在ci框架中,指的就是框架的入口文件index.php.前端控制器本身是一种设计模式,详细可参考《j2ee设计模式》。

应用程序控制器

  应用程序控制器是具体的处理用户请求url的控制器,通常将一组相关的处理或者请求放置在一个应用程序控制器中,例如:urcontroller可能包含用户的注册、验证、个人信息、个人页面等相关操作。

mvc

  老生常谈的一个术语,是一种代码分层和组织模式。将代码分为m(model,业务逻辑),v(view ,视图),c(controller,控制器)等层次,便于将业务逻辑部分和视图渲染部分分离,减少代码的耦合。目前php中许多框架都基于mvc模式,如zf,yii,ci等

route路由

  虽然名为route,但这里并不是路由器,而是指截取用户的请求并将请求转发到特定的controller处理的过程。不同的框架的路由不同,但基本原理相同。

hook钩子

  最初的hook是指“消息传递中一个环节,用于监控消息的传递,并在消息处理之前,添加特定的处理”学业祝福语。这里的hook是指,在不改变框架核心源码的基础上增加或更改系统的核心功能,最典型的情况包括:在控制器加载之前或加载完成之后运行特定的脚本。

ci框架配置

  本文的基本环境:linux x86_64 gnu/linux .安装了php(cgi)+nginx+mysql+redis(所以本文的许多服务器相关的配置都是以nginx为主,而暂时忽略apache服务器)。

  首先下载ci框架的源码,下载地址为:http://codeigniter.org.cn/downloads 目前稳定版本是2.2.0 。将源码解压到文件夹(假设为/usr/nginx/html/ci 目录)。

  配置ci框架之前,先浏览一下框架的目录结构:

其中:

application :   应用程序的目录,你的所有的应用代码都应该位于这个目录

index.php :   框架的入口文件

static :  我们自己建立的目录,放置一些css,image和js等静态文件(这完全可以放到application目录下,看个人喜好)

system :   ci框架的系统文件,也是源码阅读的主要部分

ur_guide : 用户指导,类似于离线的用户手册。

ci框架需要配置的地方比较少:

1.  配置routes

  routes.php中配置的是默认的应用程序控制器和404页面. 打开application/config/routes.php文件, 配置如下:

$route['default_controller'] = "index";$route['404_override'] = '';

2.  配置数据库databa.php

  如果你的应用程序需要提供动态内容,那么数据库几乎是必不可少的配置。打开application/config/databa.php文件,该文件内容如下:

  ci框架是支持多数据流连接的,default是当前默认的连接,active_record用于指定是否启用arm(active record model)。每个配置项非常简明,这里不再做过多介绍。

3.  去掉index.php

  现在访问你的应用程序,url应该类似于这样:

test.xq.com/index.php/indextest.xq.com/index.php/welcome

注意每个请求都会带有index.php段。去掉index.php会让uri更加美观。

打开刚刚添加的test.xq.com.conf文件,在rver中添加如下配置:

if ($request_filename !~* /(favicon.ico|static|uploads|js|javascript|css|images|robots\.txt|index\.php|index\.html)){   rewrite ^/(.*)$ /index.php?$1 last;}

重启服务器后,现在,url的访问方式变成了:

test.xq.com/indextest.xq.com/welcome

是不是简洁多了 :d

4.  添加.html访问后缀

  可能还有人喜欢url中添加特定的后缀,例如.html后缀使你的应用程序更类似于一系列静态文件。配置方法是,在application/config/config.php中,更改如下配置为:

$config['url_suffix'] = 快乐大本营古巨基'.html';
三清山自助游

ci框架的更多配置可以参考:

让nginx支持.htaccess(本文没有提及使用.htaccess重写的内容,可以参考之)http://www.php100.com/html/program/nginx/2013/0905/5537.htmlci框架集成smarty,习惯用smarty模板引擎的童鞋可以看看 http://www.kankanews.com/ickengine/archives/70302.shtml 配置vhost

  为了方便访问(相比ip地址访问的方式,域名访问有更好的可记忆性),我们可以配置vhost,配置方式为:进入nginx的vhost目录,新建配置文件(本文中为test.xq.com.conf,一般情况下,我们的每个vhost都会以域名命名)。在配置文件中输入如下内容:

rver {  listen    80;  rver_name test.xq.com;  root     /usr/nginx/html/ci/;  access_log logs/xq_access_log main;  error_log logs/testsq.log e情侣网名 幸福rror;  chart gbk;  index index.php;  location ~ .*\.(php|php5)?$  {    include    fastcgi_params;    fastcgi_param script_filename $document_root$fastcgi_script_name;    fastcgi_pass  127.0.0.1:9000;  }}

rver中暂时没有其他rewrite配置,稍后在配置ci框架的时候,我们可以添加更多的配置类支持ci的友好url.

打开本地的host文件,在host中添加条目:

10.130.130.130 test.xq.com  

其中10.130.130.130应该是你的服务器的ip地址。

现在,在浏览器中可以通过域名访问ci框架了。

框架流程

在结束本文之前,我们再看看ci框架的基本流程,这个流程将贯穿源码阅读的始终,所以,很有必要认真研读一下。引用ci框架用户手册的上的流程图:

基本的执行流程如下:

index.php是前端控制器,初始化框架所需的所有资源,加载应用程序基本配置,接收所有用户的请求,并通过route路由用户请求若缓存文件存在,它将绕过通常的执行顺序,直接发送到客户端。curity数据过滤。这位于应用程序控制器装载之前。应用程序控制器加载数据库驱动、类库、业务逻辑类和可能的其他资源,处理用户的请求视图发送到客户端。如果开启缓存,则视图会被缓存,用于之后的请求。

本文发布于:2023-04-06 20:53:12,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/8b68fe27a745abadbc9d667073e53b93.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:CI框架学习笔记(一) – 环境安装、基本术语和框架流程.doc

本文 PDF 下载地址:CI框架学习笔记(一) – 环境安装、基本术语和框架流程.pdf

标签:框架   控制器   应用程序   文件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图