系统自动初始化。用于计算两个基准点之间的时差。
在框架被调用的时候初始化。在视图被output类送给浏览器以前结束,提供整个系统执行的精确计时。
此类能够在 M V C 三层中任何一层使用。
用法:标记一个开始点$this->benchmark->mark('code_start');结束点:$this->benchmark->mark('end');中间是其余逻辑代码。echo $this->benchmark->elapsed_time('code_start','code_end');
也能够设置三个benchmark标记。
('code_strat')这个字符串能够任意设置.
echo $this->benchmark->elapsed_time();直接执行,不要参数输出的是CI启动到输出页面到浏览器以前所用的时间。
<?php echo $this->benchmark->memory_usage();?>显示整个系统的内存使用量 !只能在视图中使用! php
购物车类和配置类日历类略 html
Email类:
加载 $this->load->library('email');
共有17个参数用来设置你的EMAIL发送。
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
初始化。$this->email->initialize($config);
在配置文件中初始化:若是您不想使用使用上述方法设定参数,您能够把它们放入一个配置文件。建立一个新文件称为email.php ,添加$config数组在该文件中。而后将该文件保存为config/email.php 它将自动的被使用。若是您保存了一个参数配置文件,就不须要使用$this->email->initialize()函数来初始化参数了
设置发件人的地址和名称:$this->email->from('you@example.com', 'Your Name');
设置邮件回复地址,若是没有设置该值,将会使用默认的from()里面的值 $this->email->reply_to('you@example.com', 'Your Name');
设置收件人地址。$this->email->to('someone@example.com'); 能够是多个,用,分隔,或者使用数组。
设置抄送,相似to函数 数据库
返回包含邮件内容的字符串,包括EMAIL头和EMAIL正文。用于调试。
对正文部分不换行 将你不想自动换行的部分放入: {unwrap} {/unwrap} 数组
加密类:
config.php 里面 $config['encryption_key'] = "YOUR KEY";是设置密匙的地方。
加密后的信息大概是加密前信息的2.6倍。
控制器中加载加密类 $this->load->library('encrypt');
该函数返回加密以后的字符串 $this->encrypt->encode($msg)
也能够在这个函数里面设置密匙 $this->encrypt->encode($msg, $key);
解密一个已经加密了的字符串 $this->encrypt->decode($encrypted_string);
sha1 方式加密 跟MD5同样不能够解密 提供一个字符串 返回它的160位hash信息。
$hash = $this->encrypt->sha1('Some string');
Php默认安装有sha1()函数 因此能够这样: $hash = sha1('Some string');直接使用这个函数 浏览器
文件上传类:
初始化文件上传类:$this->load->library('upload');
将配置参数传入 : $this->load->library('upload', $config);
或者用这个方式:$this->upload->initialize($config);
app
表单验证类:
加载表单验证类库 $this->load->library('form_validation');
当验证不成功时在表单页面显示出验证错误信息,该信息是本身定义的 <?php echo validation_errors(); ?>
设置表单验证规则: $this->form_validation->set_rules();
$this->form_validation->set_rules('username', 'Username', 'required');
级联设置验证规则:$this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[12]|is_unique[users.username]');
预处理数据:$this->form_validation->set_rules('password', 'Password', 'trim|required|matches[passconf]|md5');这样会使数据被去空格 而后进行MD5加密。
在页面上使用 echo set_value('username');保证已经被填写了的表单被填充
使用本身的回调函数 (应用:检查用户名在数据库中是否惟一):$this->form_validation->set_rules('username', 'Username', 'callback_username_check'); call函数是回调函数。在call函数里面检查是否惟一。返回false则验证不成功.call函数命名规则 callback_是前缀 因此实际的验证函数名只须要写username_check()就对了。
设置验证失败返回的信息:$this->form_validation->set_message('rule', 'Error Message');好比这里的rule 设置成required 就能够设置返回的信息。也能够在配置文件 system->language ->english->form_val.....php里面设置每一个错误的返回信息。相似于这样:
$lang['required'] = /*"The %s field is required."*/"%s 这个地方必须被填写";
也可使用回调函数返回的真假来设置错误信息。当你使用了回调函数的时候。能够这样写:$this->form_validation->set_message('username_check','你想返回的错误信息'),这个意思就是设置当你的回调函数返回false (表明验证不成功的时候)你的错误信息应该返回什么。
产生错误时候的定界符:默认状况下CI用P标签对每个表单域产生的信息进行分隔。使用以下的语句来从新设置这种分隔规则:集体更改定界符:$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
单独更改定界符:<?php echo form_error('field name', '<div class="error">', '</div>'); ?>
独立的显示验证错误:
若是想在指定的位置显示验证错误信息使用这个:<?php echo form_error('username'); ?>这种状况下就不用写<?php echo validation_errors();?>这句话了。(若是表单域是数组函数 例如: name="options[size]" 就必须写成这样 <?php echo form_error('options[size]'); ?>)
将验证规则保存在文件夹里面,不用每次都写验证规则:
第一步:须要在 application/config/ 文件夹下建立一个名称为 form_validation.php
第二步:而后建立$config数组,数组名字必定要是这个,不然要出错。
第三步:建立每一个域对应的验证规则:
$config = array(
array(
'field' => 'username',
'label' => '用户名',
'rules' => 'required'
),
array(
'field' => 'userpassword',
'label' => '用户密码',
'rules' => 'required'
)
);
当你调用验证函数时,这些规则会自动被调用。
也能够穿件多组验证规则:
$config = array(
'signup' => array(
array(
'field' => 'username',
'label' => '用户名',
'rules' => 'required'
),
array(
'field' => 'userpassword',
'label' => '用户密码',
'rules' => 'required'
)
),
'email' => array(
array(
'field' => 'username',
'label' => '用户名',
'rules' => 'required'
),
array(
'field' => 'userpassword',
'label' => '用户密码',
'rules' => 'required'
)
)
);
这样就分别为登陆和邮箱设置了不一样的验证规则。
加载的时候用这种方式分别加载不一样的验证规则:$this->form_validation->run('signup');
更为智能化的方法就是关联控制器和验证规则组。方法以下:
验证规则组的定义不变 在验证规则组组名上采起'控制器类名/方法名模式。那么在这个控制器中调用run方法时候会自动调用相应的验证规则。 框架
FTP类的使用( 略)
html表格类的使用
函数