CI(-)框架结构

一 CI 是什么

1 CodeIgniter is an Application Development Framework - a toolkit -
2 for people who build web sites using PHP.
3 Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch,
4 by providing a rich set of libraries for commonly needed tasks,
5 as well as a simple interface and logical structure to access these libraries.
6 CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.

  官网的解释很清楚.CI 是toolkit 工具包,工具包就是有小而全的工具特性.set of libraries ,这里set让三爷我联想到了redis 的set,卧槽真是个好东西啊,libraries就是

这些小工具. CI 用简单的接口和逻辑把 这些工具组合起来.使你可以减少开发的工作量.

二 目录结构

1 index.php     ----------入口文件
2 application   ----------应用程序文件夹
3 system        ----------框架目录
4 user_guide    ----------手册

system 目录

core     -------- 核心类目
       Benchmark.php      -------- 基准测试类
       CodeIgniter.php     -------- 框架初始文件
       Common.php        -------- 公共函数库
       Config.php            -------- 配置文件
       Controller.php        -------- 所有库文件继承的超类
       Exceptions.php      -------- 异常处理类
       Hooks.php            -------- 钩子
       Input.php             -------- 输入数据处理类
       Lang.php              -------- 语言类
       Loader.php            -------- 加载类,加载文件,
       Model.php             -------- 基类模型文件
       Output.php           --------- 输出处理文件
       Router.php            --------- 路由处理类
       Security.php          --------- 安全基类
       URI.php               --------- 解析URI
       Utf8.php               -------- 提供Utf8 的环境
database    --------
        DB.php                -------- 初始化数据库类
        DB_cache.php       -------- 数据库缓存类
        DB_active_rec.php -------- AR基类
        DB_driver.php       -------- DB 配置
        DB_forge.php       -------- 数据操作类
        DB_result.php       -------- 数据操作结果类
        DB_utility.php       -------- 数据库优化处理类
helpers  --------            各种数据类型处理函数
        array_helper.php
        cookie_helper.php
        directory_helper.php
        file_helper.php
        form_helper.php
        html_helper.php
        number_helper.php
        path_helper.php
        text_helper.php
        url_helper.php
        xml_helper.php
        string_helper.php
        typograpthy_helper.php   --------  类型转换
        smiley_helper.php    ---------  JS处理
        captcha_helper.php    -------- 验证码
libraries    --------        各种
        Cache  --------      缓存
        javascript  ---------      Jquery 类
        Calendar.php           -------- 日历
        Cart.php                 -------- 购物车
        Form_validation.php  -------- 表单验证类
        Migration.php            -------- 数据库的操作类事务类up/down
        Pagination.php         --------- 分页类
        Parser.php                ---------- 模板解析类
        Table.php                --------- 表格
        Trackback.php        ---------
        User_agent.php      ---------
        Xml_rpc.php            --------

应用程序目录结构

1 models        --------  数据处理
2 views           --------  模板展示
3 logs            --------  日志存储
4 libraries       --------  库文件
5 helpers        --------  帮助函数
6 controllers    --------  逻辑处理
7 config          --------  app 配置类
8 cache          --------  缓存处理类

三 框架应用,

  文件放到根目录下,访问index.php即可.  

四   运行解析

  

  1.单入口文件index.php 初始化CI所需的基本资源  2.Router.php parse URIs,确定路由,(在routes.php进行remap APP层)

  3.存在缓存直接输出,不存在则Input.php处理请求字符

  4.app逻辑处理层 MVC

  5.渲染输出,如果开启缓存,先缓存.

五  MVC

  老生常谈了.总之,如果你认为M不是必须的可以不要它.但是开发框架的时候为了装13 用,一般还是留下的.

时间: 2024-08-07 15:35:05

CI(-)框架结构的相关文章

详细说明php的4中开源框架(TP,CI,Laravel,Yii)

ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和自动填充功能,框架更新速度比较速度. 优点:这个框架易使用 易学 安全 对bae sae支持很好提供的工具也很强大 可以支持比较大的项目开发 易扩展 全中文文档 总的来说这款框架适合非常适合国人使用 性能 上比CI还要强一些 缺点:配置对有些人来说有些复杂(其实是因为没有认真的读过其框架源码)文档有

CI框架源码阅读笔记3 全局函数Common.php

从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index

后盾网-CI框架学习笔记

CI框架: 表单验证: 载入验证类 $this->load->library('form_validation'); 设置规则 $this->form_validation->set_rules('name值','规则'); 执行验证 $this->form_validation->run() 表单验证辅助函数: $this->load->helper('form'); 1. set_value('name') //重填数据 2. form_error('n

框架-ci一般建站

新框架怎样入手 所有框架都是MVC模型. 下载手册,边看边练习 CI框架:1,了解顺序: 1.控制器(controller)的使用和开发,调用URL 2.视图(html+标签语言) 3.模型,用的比较少2,CRUD(增删改查) 用框架实现一张表的增删改查 a.如何操作数据库 b.页面之间是如何跳转的 c.控制器之间是如何相互调用的 d.视图中如何调用控制器3.框架是否提供辅助类来简化开发(cookie,session,分页等) 设置网站的根 application/config/config.p

【铜】第174-9篇 一对一视频录制(九)一对多学生端删除白板及nginx下配CI

关键词:webm文件在手机端播放, 一对多学生端删除白板, nginx下配CI 一.一对一视频录制 1.1.webm文件在手机端播放 1)在PC上 a.)用谷歌浏览器播放 http://123.57.206.36:8014/uploads/177013288141499069939723.webm 2)手机端播放 二.一对多 2.1 网址 1)备份上 老师端:https://123.57.206.36:9101/demos/index.html?roomid=888&teaNameMobile=

【版本升级】MyEclipse 2017 CI 4发布(附下载)

MyEclipse 2017 CI 4新添加了对Angular 4的支持,同时还增强了TypeScript编码功能.对于我们的Darkest Dark主题用户,您现在可以轻松地自定义编辑器颜色! [MyEclipse 2017 CI 4安装包下载] 支持Angular 4 我们非常开心地宣布,新发布的版本支持Angular 4! 升级Assist 如果您想要升级到Angular 4,选择您的Angular 2项目,然后在我们的工具栏中单击Upgrade操作.我们的升级向导将升级大量配置文件,并根

CI框架3.0版本以后,前后台分离的方法。

笔者认为,CI框架官方其实并没有考虑这个前后台分离的问题,所以没有官方的分离方法.而且,2.0版本的分离,也被官方认为这是一个bug.所以在前后台分离这个问题上,其实并不如thinkphp框架. 在CI框架2.0版本时的,大多数人认为可以这样做,前后台分离是可以直接在controller下,分admin和home目录的. 这是2.0版本时 其实,今天我用的是3.0版本的CI框架.在前后台分离这个问题,我也纠结了比较久.但是为了项目结构目录的清晰,还是要做前后台分离的. 我大概是做了这样一个分离.

CI 3.1.3隐藏index.php

环境为 windows10 php 5.6 apache2.4 在http.conf中打开LoadModule rewrite_module modules/mod_rewrite.so 将前面的#去掉 <Directory "D:/"> # # Possible values for the Options directive are "None", "All", # or any combination of: #   Index

CI加载model的问题

1.需求 CI在linux上无法加载model 2.原因 因为linux区分大小写,且model文件名首字符要大写. As said in the comments : Your model's filename must start with an uppercase. In your case, Ion_auth_model.php. 参考资料:http://stackoverflow.com/questions/28506163/troubleshooting-codeigniter-un