主页 > 后端 > codeigniter >
来源:未知 时间:2014-10-20 11:25 作者:xbdadmin 阅读:次
[导读] ?php if ( ! defined(BASEPATH)) exit(No direct script access allowed); class Test extends CI_Controller { public function __construct(){ parent::__construct(); $this-init(); } //负责处理一些初始化的工作 public function init(){ he...
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Test extends CI_Controller {
public function __construct(){
parent::__construct();
$this->init();
}
//负责处理一些初始化的工作
public function init(){
header("content-type:text/html;charset=utf-8");
$this->config->load("pagination",true);
$this->load->library("upload");
$this->load->model("role_model");
$this->load->database();
}
//配置文件的测试
public function testdemo(){
echo "<pre>";print_r($this->config);
echo "路径:".$this->config->item("base_url");
}
//辅助函数、类库、模型的测试
public function testdemo1(){
echo "<pre>";print_r($this->load);
echo "<pre>";print_r($this->upload);
echo "<pre>";print_r($this->role_model);
echo "<pre>";print_r($this->db);
}
public function testdemo2(){
echo "test...";
$aa=&get_instance();
echo "<pre>";print_r($aa);
}
public function testdemo3(){
}
}
/*
1、echo "<pre>";print_r($this->config);//返回 CI_config核心类实例化对象
echo $this->config->item("base_url");//调用CI_config核心类实例化对象的item方法
注意:配置项都被存储在一个叫做$config的数组里面(数组名必须是$config,否则通过$this->config->item();方法获取不到想要的数据)
配置项还可以是数组,如下所示:
$config['config_big_thumb']=array(
'image_library' => 'gd2',//gd2图库
'create_thumb' => true,//是否创建缩略图
'maintain_ratio' => true,
'width' => 300,//缩略图宽度
'height' => 300,//缩略图的高度
'thumb_marker'=>"_300_300"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图
);
通过$this->config->item("config_big_thumb");获取到的是一个数组
//同时加载多个配置文件的情况
$this->config->load("config");
$this->config->load("pagination");
echo "<pre>";print_r($this->config);
结论:两个配置文件中的配置项合并成一个数组,同名配置项的值会被后者覆盖
//不同的配置文件存在同名索引时,会发生冲突,为了避免这个问题,可以设置第二个参数为true,这样可以使得每个配置文件中的内容存放在一个单独的数组中,数组的索引名就是配置文件的名字
$config[base_url]="http://www.kuxiu.net/";
$config[pagination]=array(//pagination-配置文件名
base_url => http://www.baidu.com
total_rows => 200
)
//"application/config/config.php"配置文件已自动加载,无需再手动启用
2、echo "<pre>";print_r($this->load);//返回 CI_Loader 类的实例化对象
$this->load->library("upload");//通过CI_Loader类的libraries方法加载CI_Upload类
echo "<pre>";print_r($this->upload);//返回CI_Upload类的实例化对象
CI_Loader类加载的所有类库、模型、附属函数都给了当前控制器,所以可以在当前控制器中采用 $this->upload 这种方式获取加载的类
$this->load->library("upload"); //返回CI_Upload类实例化对象本身
$this->load->model("role_model");//返回Role_model类实例化对象本身
3、核心类控制器中:
$this->load =& load_class('Loader', 'core');
所以,我们可以在控制器中通过$this->load获取到CI_Loader类实例化对象,从而可以调用里面中的方法来动态加载一些类库、模型及公共辅助函数
4、当触发一个控制器的时候,自动加载的核心类库如下:
CI_Benchmark
CI_Hooks
CI_Config
CI_URI
CI_Router
CI_Output
CI_Security
CI_Input
CI_Lang
CI_Loader
5、在任何地方都可通过 $CI=&get_instance(); 来获取当前控制器实例化对象
6、$this->load->database();//返回CI_DB_mysql_driver类实例化对象,名字叫db
echo "<pre>";print_r($this->db);//返回CI_DB_mysql_driver类实例化对象
7、system/core/ 文件夹下的所有核心类文件在项目运行时,全部被加载
8、辅助函数:
url 辅助函数可以帮助我们创建链接
form 辅助函数可以帮助我们创建表单
file 辅助函数可以帮助我们处理文件
text 辅助函数可以为我们提供一系列的格式化输出方式
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com