系統自動初始化。用於計算兩個基準點之間的時差。
在框架被調用的時候初始化。在視圖被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表格類的使用
函數