我想運行在第一個我的所有網頁的驗證碼,默認語言笨
我用笨
代碼:
if(!$this->session->userdata('lang')):
$this->session->set_userdata('lang','ar');
endif;
該怎麼做?
我想運行在第一個我的所有網頁的驗證碼,默認語言笨
我用笨
代碼:
if(!$this->session->userdata('lang')):
$this->session->set_userdata('lang','ar');
endif;
該怎麼做?
如果你還沒有,可能值得看看CodeIgniter的language class。
您可以擴展本機CI_Controller
類。擴展此類允許您添加額外的功能,而原生核心類的原始功能仍然存在。
要在所有頁面上首先運行的代碼,您可以將代碼添加到新創建的子類的構造函數中 - 如果使用新的子類擴展控制器,則此代碼將在任何函數在你的控制器中被調用。要做到這一點:
創建一個子類
創建一個在application/core/
目錄中的項目命名爲MY_Controller.php
文件。這個新類需要擴展CI_Controller
和父構造函數。該類應該是這個樣子:
<?php
class MY_Controller extends CI_Controller {
public function __construct()
{
parent::__construct(); //make sure you extend the parent constructor
//Your code:
if(! $this->session->userdata('lang'))
$this->session->set_userdata('lang','ar');
}
}
確保如果你使用MY_
爲前綴的新類,那麼你不應該需要做任何事情類的前綴是正確的
,但無論如何它都是有用的。
您還需要確保在application/config/config.php
文件中正確設置了子類前綴。
$config['subclass_prefix'] = 'MY_';
此前綴必須與您創建的新類的前綴相匹配。默認情況下,它是MY_
,但只要它們對應即可將其更改爲所需內容 - FOO_
,BAR_
,WHATEVER_
...例外是CI_
,它是爲CodeIgniter的本機庫保留的。
擴展你的應用程序的控制器與application/controllers/
新的子類
你的控制器(s)爲(/是)可能延長CI_Controller
。要使用新創建的子類,您的控制器應該擴展MY_Controller
和父構造函數。
class Welcome extends MY_Controller {
function __construct()
{
parent::__construct();
}
//More functions...
}
非常感謝你,它工作的很好。最好的問候 –
沒問題,我很高興它的工作!如果您發現答案有用,那麼也許您可以考慮將其標記爲正確/有效? http://stackoverflow.com/faq#howtoask – jleft