ci的一些基础内容

第一部分:

load: view,model,database,helper,driver

helpers辅助函数: system/helpers/常用:url/常用:url,form,text,cookie,file
1. 加载:$this->load->helper('name'); #先application/helpers,如果没找到则去system/helpers中查找
2. 文件名:eg: url_helper文件,$this->load->helper('url') #去掉_helper和.php
3. 没有返回值,可在控制器和视图中加载、
4. 加载多个:$this->load->helper(array('helper1', 'helper2', 'helper3'));
5. 自动加载: application/config/autoload.php的autoload中加载即可
6. 使用:<?php echo anchor('blog/comments', 'Click Here');?> #链接
7. 设置自定义前缀:$config['subclass_prefix'] = 'MY_';
8. 扩展辅助函数:eg: application/helpers/MY_array_helper.php,添加或重写函数

CI类库:system/libraries/
1. 加载:$this->load->library('class_name');
2. 加载多个类库:$this->load->library(array('email', 'table'));
3. 数据库类库不能被扩展和替换,其他均可
4. $this只能在控制器,视图,和模型中直接使用,所以自定义类库时想要调用CI原生资源,需要通过$CI =& get_instance();来获取
5. 替换则相同命名即可,扩展则继承原来的类并调用父类构造函数
6. 使用类库:$this->some_class->some_mothod();
7. 自定义前缀:$config['subclass_prefix'] = 'MY_';

CI驱动器:system/libraries/,每个驱动器都有一个独立的目录,目录名和驱动器名一致,且目录下有一个drivers的子目录存放子类文件
1. 加载驱动器类:$this->load->driver('some_parent');
2. 调用:$this->some_parent->some_method();
3. 调用子类:$this->some_parent->child_one->another_method(); #不用初始化子类,这就是驱动器的作用,方便
4. 子驱动并不继承主驱动,所以子驱动中无法使用主驱动的属性和方法
5. 自定义驱动:目录结构一样即可

CI核心类库:system/core #CI运行时加载
1. 替换:application/core中创建相同名文件
2. 扩展:继承原来的核心类,然后控制器使用自己的核心类
3. 自定义前缀:$config['subclass_prefix'] = 'MY_';

CI创建附属类:创建类,如要使用CI资源,则使用$CI =& get_instance();

CI钩子:修改框架内部运行流程,而不修改核心文件,如在控制器调用前后添加处理函数
1. 启动钩子:$config['enable_hooks'] = TRUE;
2. 定义钩子:application/config/hooks.php中定义, 可直接$hook['post_controller'] = function(){}处理,或$hook['pre_controller'] = array('class/function/filename/filepath/params'=>'')找到执行脚本
3. 挂钩点:pre_system,pre_controller,post_controller_constructor,post_controller,display_override,cache_override,post_system这些挂钩点

CI自动加载资源:每次系统运行时都会自动初始化类库、辅助函数和模型,如果需要全局使用,则可以自动考虑自动加载
1. 支持自动加载的有:libraries/,helpers/,config/,system/language/,models/
2. 在application/config/autoload.php中添加,autoload时无需加扩展名.php
3. 使用composer自动加载:$config['composer_autoload]=TRUE;

CI公共函数:CI定义了一些全局函数,任何地方均可使用
1. is_php($version) #判断当前php版本是否高于或等于某个版本
2. is_really_writable($file) #判断文件是否真的可写入
3. config_item($key) #访问单个配置项的函数
4. set_status_header($code[,$text='']) #用于手动设置HTTP状态码
5. remove_invisible_characters($str[, $url_encoded = TRUE]) #防止在ASCII字符串中插入空字符
6. html_escape($var)  #类似htmlspecialchars(),可以接受数组参数
7. get_mimes() #返回 application/config/mimes.php 文件中定义的 MIME 数组的 引用
8. is_https()  # HTTPS 安全连接时返回 TRUE
9. is_cli()  #命令行下运行时返回 TRUE
10. function_usable($function_name)  #函数是否可用,可用返回 TRUE ,否则返回 FALSE 

 

转载于:https://www.cnblogs.com/maoriaty/p/9061149.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值