【ci框架】2013-04-26总结

<?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 辅助函数可以为我们提供一系列的格式化输出方式
       
       9.验证码函数:captcha_helper.php用法:
         public function testlogin(){
		$vals = array(
			'word' => rand(1000,9999),	//如果不提供,将随机显示一个字符串
			'img_path' => './captcha/',//验证码保存目录,会判断是否是否是目录(必须的参数)
			'img_url' => 'http://www.kuxiu.net/captcha/',//主要用于<img src="">标签(必须的参数)
			'font_path' => 'http://www.kuxiu.net/system/fonts/texb.ttf',//验证码字体
			'img_width' => 150,//验证码图片的宽度
			'img_height' => 30,//验证码图片的高度
			'expiration' => 0  //验证码的有效期
			);


		$cap = create_captcha($vals);//创建图片验证码的函数
		//<img src="http://www.kuxiu.net/captcha/1366917078.59.jpg" width="150" height="30" style="border:0;" alt=" " />
		//echo $cap['image'];
		//echo $cap['word'];//验证码
		$this->session->set_userdata(array('verifycode'=>$cap['word']));//将生成的验证码放到session中    参数:关联数组形式
		$this->tp->assign("verifycode",$cap['image']);//将验证码赋值给模板变量
		$this->tp->display("admin/login.php");//模板显示
	}
      10.所有控制器都需要的一些公共操作,我们可以在构造函数中进行初始化
	 只适用于本控制器的初始化操作,我们可以将其放那个在init()方法中进行初始化


*/

?>



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值