很多朋友不知道CI框架从哪里开始学起,想学一个新的框架其实并不难。只要你认真研究,自习摸索都很简单!

概述和基本配置参数

配置CI:

application/config/config.php:14配置你的域名

application/config/database.php:40配置你数据库的相关参数

配置基于htaccess的重定向

RewriteEngine on

RewriteCond $1 !^(index?.php|images|robots?.txt)

RewriteRule ^(.*)$ /index.php/$1 [L]

任何除开 index.php,images,和robots.txt 的 HTTP 请求都当成对 index.php 文件的请求。

增加 URL 后缀

application/config/config.php:57 配置$config['url_suffix'] = “.html”;

配置后带或不带后缀都可以访问

使用index.php的get方式访问控制类

application/config/config.php中:

$config['enable_query_strings'] = true;

$config['controller_trigger'] = ‘c’;

$config['function_trigger'] = ‘m’;

访问方式:index.php?c=controller&m=method

自定义的简单的控制类

class Blog extends Controller {

function index()

{

echo ‘Hello World!’;

}

}

?>

控制器的访问和参数传递

www.your-site.com/classname/functionname/para1/para2

www.your-site.com/classname/functionname/para1/para2.html

定义默认控制器

application/config/routes.php 中配置 $route['default_controller'] = ‘classname’;

控制器中的预定义方法

_remap() 方法:不管uri中调用的方法是哪个,该请求都会被重定向到此方法

被覆盖的方法名会作为参数传递进来,参数依次排列到后面

_output() 方法:类中任意函数的输出结果都会交给此函数处理后再交给客户浏览器

Function _output($output){echo $output};

视图

在控制器中加载特定视图:$this->load->view(‘name‘);

name是视图文件的文件名,不包括.php 后缀。

链接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取码:x2p5

免费分享,但是X度限制严重,如若链接失效点击链接或搜索加群 群号936682608

$this->load->view(‘folder_name/file_name‘);

向视图中传递动态数据:

$this->load->view(‘blogview’, $data,$data2);

$data可以是数组或者对象(类的示例);

视图中使用PHP语法

模型

引入Model:$this->load->model(‘Model_name‘);

一旦引入:可以使用里面的函数:$this->Model_name->function();

还可以指定model名:

$this->load->model(‘Model_name‘, ‘fubar’);

$this->fubar->function();

模型被加载后不会自动建立数据库连接,只会在被调用的时候才会

要在引入模型时建立数据库连接,需要$this->load->model(‘Model_name‘, ”, TRUE);

助手

助手包含完成特定功能的一系列函数,导入特定助手后即可以像使用php内置函数一样使用CI助手提供的函数了

$this->load->helper(‘name‘);

加载多个助手:$this->load->helper( array(‘helper1‘, ‘helper2‘, ‘helper3‘) );

自动加载某个助手:配置application/config/autoload.php文件,把要加载的插件加入到自动加载的数组里(autoload array)。

插件

与helper类似,但插件只提供单一的功能,而helper提供一系列的功能

$this->load->plugin(‘name‘);

比如$this->load->plugin(‘captcha‘);加载的就是captcha_pi.php

$this->load->plugin( array(‘plugin1‘, ‘plugin2‘, ‘plugin3‘) );

自动加载:application/config/autoload.php

CI库

加载库:$this->load->library(‘class name‘);

创建自己的库,要求,首字母大写,

自定义库中引用CI资源:get_instance() 函数

$CI =& get_instance();

$CI->load->helper(‘url’);

$CI->load->library(‘session’);

$CI->config->item(‘base_url’);

使用CI管理数据库

application/config/routes.php:$route['scaffolding_trigger'] = “zhougege”;

在你的控制器的构造函数中添加:$this->load->scaffolding(‘marry_user_profile’);

就可以通过访问http://localhost/yourclass/zhougege来管理你的数据库了

CI错误处理

Index.php中默认的是显示所有错误:              error_reporting(E_ALL);

show_error(‘message’)函数,按application/errors/error_general.php作为模板显示错误信息

show_404(‘page’)函数,按application/errors/error_404.php作为模板显示一个404错误

log_message(‘level’, ‘message’)函数,把错误信息写入错误日志。你必须在第一个参数中提供错误级别(三种),指出是哪种级别的错误(debug, error, info),第二个参数是错误信息

注意:为了生成错误日志文件,必须在 application/config/config.php 文件中打开 “log_errors” 选项,并保证 “logs” 文件夹可写。另外,你可以为日志设置 “threshold”。比如,你可以记录错误信息(Error Messages),但不记录其它两种类型。

CI缓存:

在控制器中打开缓存:$this->output->cache(n); n是缓存时间,单位是秒。

CI框架从哪里看起?CI框架怎么开始学习,CI的初始设置的更多相关文章

  1. 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的

    [军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的   之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们, ...

  2. CI框架基本配置/教你学习CI框架codelgniter

    CI框架现在中国可以说还是不成熟,不像thinkphp那样有那么多的中文手册,在国内,很多国人英语都很烂,CI现在教程还是不多.大家心里都存在这严重想法 CI 框架现在中国可以说还是不成熟,不像thi ...

  3. 《一头扎进》系列之Python+Selenium框架设计篇1-什么是自动化测试框架-价值好几K的框架,不看别后悔,过时不候

    1. 什么是自动化测试框架 在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的 ...

  4. SpringBoot框架——从SpringBoot看IoC容器初始化流程之方法分析

    目录 一.概观Spring Boot 二.Spring Boot应用初始化 2.1 初始化入口 2.2 SpringApplication的run方法 2.3 方法分析 三.容器创建与初始化 3.1 ...

  5. tp框架的详细介绍,tp框架基础

    php框架 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一 ...

  6. Entity Framework 实体框架的形成之旅--实体框架的开发的几个经验总结

    在前阵子,我对实体框架进行了一定的研究,然后把整个学习的过程开了一个系列,以逐步深入的方式解读实体框架的相关技术,期间每每碰到一些新的问题需要潜入研究.本文继续前面的主题介绍,着重从整体性的来总结一下 ...

  7. 掌握Tiles 框架 (一)---Tiles入门和Tiles 框架和体系结构

    掌握Tiles 框架 (一)---Tiles入门和Tiles 框架和体系结构 入门 本教程所讲述的内容 本教程讲述如何使用 Tiles 框架来创建可重用的表示组件.(在最初创建它时,Tiles 框架被 ...

  8. .NET框架设计—常被忽视的框架设计技巧

    阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数 ...

  9. 轻量级ORM框架 QX_Frame.Bantina(一、框架简介)

    轻量级ORM框架QX_Frame.Bantina系列讲解(开源) 一.框架简介 http://www.cnblogs.com/qixiaoyizhan/p/7417467.html 二.框架使用方式介 ...

  10. Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52532085 不知不觉到第九篇了,感觉还有 ...

随机推荐

  1. SpringIOC源码解析(下)

    注意,看完这篇文章需要很长很长很长时间... 本篇文章是SpringIOC源码解析(上)的续集,上一篇文章介绍了使用XML的方式启动Spring,然后追踪了BeanFactory容器的创建.配置文件的 ...

  2. Java 之 Vector 集合

    一.构造方法 Vector():构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零. Vector(int initialCapacity) :使用指定的初始容量和等于零的容量增量构造 ...

  3. React Navigation 导航栏样式调整+底部角标消息提示

    五一佳节匆匆而过,有人选择在外面看人山人海,有人选择宅在家中度过五一,也有人依然坚守在第一线,致敬! 这是坚持学习react-native的第二篇文章,可能会迟到,但是绝不会缺席,这篇要涉及到的是re ...

  4. Alpha4

    一.站立式会议照片 二.工作进展 (1) 昨天已完成的工作 a. 实现用户登录时获取用户信息功能 b. 实现个人目标列表,允许用户在个人目标界面浏览已设置的目标 c. 继续实现目标广场列表 (2)今天 ...

  5. MySQL修炼之路一

    1. MySQL概述 1. 什么是数据库 存储数据的仓库 2. 都有哪些公司在用数据库 金融机构.游戏网站.购物网站.论坛网站 ... ... 3. 提供数据库服务的软件 1. 软件分类 MySQL. ...

  6. sqlldr导入数据取消回显记录条数

    之前在脚本中使用sqlldr导入数据时,如果表的数据量较大的话,会使日志文件变得极大,之后在网上查找了很久,才在一个偶然的机会找到这个参数 silent=all 但是最近发现这样写有个问题,就是加了这 ...

  7. 年薪30W测试工程师成长之路,你在哪个阶段?

    对任何职业而言,薪资始终都会是众多追求的重要部分.前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和.当然,我说的是最基础 ...

  8. 性能测试基础---jmeter基础

    ·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...

  9. Python面试题(2)

    1.一行代码实现1-100的和 ? 1 2 3 print(sum(range(1,101))) #range中的参数是1<=i<101 #sum是计算参数的和 2.在函数内部改变全局变量 ...

  10. python抓取网站提示错误ssl.SSLCertVerificationError处理

    python在抓取制定网站的错误提示:ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify ...