PHP CI架構中定義全域變數,方法如下:
在application/libraries目錄下建立一個檔案,如globle.php,添加如下代碼:
<?phpclass Globals {// Pass array as an argument to constructor functionpublic function __construct($config = array()) {// Create associative array from the passed arrayforeach ($config as $key => $value) {$data[$key] = $value;}// Make instance of CodeIgniter to use its resources$CI = & get_instance();// Load data into CodeIgniter$CI->load->vars($data);}}?>
再進入application/config目錄,建立一個檔案如blobles.php,編輯代碼如下:
<?php// Create customized config variables$config['web_Address']= 'https://www.formget.com/blog';$config['title']= 'CodeIgniter Global Variable';?>
當構造器初始化的時候,就會載入以上的變數
注意,application/config目錄裡的檔案必須和application/libraries裡面的檔案同名,否則無法工作
在使用這些變數之前,我們需要自動載入這些變數:
修改:config/autoload.php 來自動載入上面的類
$autoload['libraries'] = array('globals');
建立一個controller去載入一個頁面:
<?phpclass CI_Global_Variable_Tutorial extends CI_Controller{public function __construct() {parent::__construct();}// Load view pagepublic function index() {$this->load->view('show_global_variables');}}?>
在視圖頁面,我們就可以使用這個變數了:
<?phpecho "Title of the blog post : ".$title;echo "<a href='$web_Address'>"."Click here to go to blog page"."</a>";?>
注意:經過我的實驗,以上方法只能在view中使用全域變數,在 controller是無法使用
參考地址:https://www.formget.com/codeigniter-global-variable/