php中CI框架定义全局变量

来源:互联网 发布:淘宝上有个正义哥代购 编辑:程序博客网 时间:2024/06/10 23:26

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/