CodeIgniter 定義「全局變量-global variable」,能夠在全部controller,model和view中使用

本文抄自http://www.cnblogs.com/webu/archive/2012/11/20/2779999.html

 

   第一次正兒八經用CodeIgniter框架作項目,結果不會定義全局變量,只能在一個controller裏定義一個public varable,每一個函數調用,別的controller裏還須要從新定義,view裏還用不了,必須先傳值。php

       通過研究,在CI中使用全局變量須要自定義Library的形式定義全局變量,這裏我介紹一個用config裏配置的方法html

 

一:library/globals.php  web

<?php if  ( ! defined( 'BASEPATH' )) exit ( 'No direct script access allowed' );
                          
class  Globals
{
                              
     function  __construct( $config  = array () ){
         foreach  ( $config  as  $key  => $value ) {
             $data [ $key ] = $value ;
         }
                          
         $CI  =& get_instance(); //這一行必須加
                          
         $CI ->load->vars( $data );
     }
}

 

二:/config/globals.php <-名字必須和library一致,定義具體變量session

<?php if  ( ! defined( 'BASEPATH' )) exit ( 'No direct script access allowed' );
                 
$config [ 'globals_text' ] = "test text" ;
                 
$config [ 'globals_text1' ] = "test text11" ;

 

 

三:/config/autoload <-配置自動加載項,加載global libraryapp

/*
| -------------------------------------------------------------------
|  Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
|   $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
       
$autoload [ 'libraries' ] = array ( 'globals' );

 

 

如今定義了兩個變量globals_text和globals_text1就能夠在全部MVC中使用了框架

相關文章
相關標籤/搜索