本文實(shí)例講述了CI框架附屬類用法。分享給大家供大家參考,具體如下:
有些時(shí)候,你可能想在你的控制器之外新建一些類,但同時(shí)又希望 這些類還能訪問(wèn) CodeIgniter 的資源
任何在你的控制器方法中初始化的類都可以簡(jiǎn)單的通過(guò) get_instance()
函數(shù)來(lái)訪問(wèn) CodeIgniter 資源。這個(gè)函數(shù)返回一個(gè) CodeIgniter 對(duì)象。
通常來(lái)說(shuō),調(diào)用 CodeIgniter 的方法需要使用 $this
$this->load->helper('url');
$this->load->library('session');
$this->config->item('base_url');
但是 $this
只能在你的控制器、模型或視圖中使用,如果你想在 你自己的類中使用 CodeIgniter 類,你可以像下面這樣做:
首先,將 CodeIgniter 對(duì)象賦值給一個(gè)變量:
一旦你把 CodeIgniter 對(duì)象賦值給一個(gè)變量之后,你就可以使用這個(gè)變量 來(lái) 代替 $this
$CI = get_instance();
$CI->load->helper('url');
$CI->load->library('session');
$CI->config->item('base_url');
如果你在類中使用``get_instance()
`` 函數(shù),最好的方法是將它賦值給 一個(gè)屬性 ,這樣你就不用在每個(gè)方法里都調(diào)用 get_instance()
了。
例如:
class Example {
protected $CI;
// We'll use a constructor, as you can't directly call a function
// from a property definition.
public function __construct()
{
// Assign the CodeIgniter super-object
$this->CI = get_instance();
}
public function foo()
{
$this->CI->load->helper('url');
redirect();
}
public function bar()
{
$this->CI->config->item('base_url');
}
}
在上面的例子中, foo()
和 bar()
方法在初始化 Example 類之后都可以正常工作,而不需要在每個(gè)方法里都調(diào)用 get_instance()
函數(shù)。
更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于CodeIgniter框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- CI框架實(shí)現(xiàn)創(chuàng)建自定義類庫(kù)的方法
- CI框架(CodeIgniter)公共模型類定義與用法示例
- CI框架中類的自動(dòng)加載問(wèn)題分析
- CI框架常用經(jīng)典操作類總結(jié)(路由,偽靜態(tài),分頁(yè),session,驗(yàn)證碼等)
- CI框架擴(kuò)展系統(tǒng)核心類的方法分析
- CI框架簡(jiǎn)單郵件發(fā)送類實(shí)例
- CI框架安全類Security.php源碼分析