Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 只在一个地方加载站点全局变量,并在任何地方使用_Php_Codeigniter_Global Variables - Fatal编程技术网

Php 只在一个地方加载站点全局变量,并在任何地方使用

Php 只在一个地方加载站点全局变量,并在任何地方使用,php,codeigniter,global-variables,Php,Codeigniter,Global Variables,我如何加载application/config/site\u globals.php来获取变量并在每个控制器中使用它们(与钩子的位置相同),而不在每个控制器中启动它?我需要使用变量,不想把它们保存在会话中 我们通常是这样开始的: $this->load->config('site_globals'); $my_globals = $this->config->item('site'); echo $my_globals['header_note']; //for exam

我如何加载
application/config/site\u globals.php
来获取变量并在每个控制器中使用它们(与钩子的位置相同),而不在每个控制器中启动它?我需要使用变量,不想把它们保存在会话中

我们通常是这样开始的:

$this->load->config('site_globals');
$my_globals = $this->config->item('site');
echo $my_globals['header_note']; //for example, there are many more
上面的代码必须在每个控制器中复制,这是一个难题


谢谢

创建一个扩展CI控制器的MY\u控制器,在MY\u控制器构造函数中加载全局变量,然后确保所有其他控制器扩展MY\u控制器而不是CI\u控制器

见文件:


记录在案,所有核心类都可以执行相同的操作,如MY_会话、MY_模型等。如果您使用它们,则重复代码会变得更容易。

在MY_控制器构造函数中创建一个MY_控制器,扩展CI_控制器,加载全局变量,然后确保所有其他控制器扩展MY_控制器而不是CI_控制器

    class Custom_Controller extends CI_Controller
{

  $this->load->config('site_globals');
  $my_globals = $this->config->item('site');
  echo $my_globals['header_note'];
}
见文件:

记录在案,所有核心类都可以做同样的事情,例如MY_会话、MY_模型等。如果您使用它们,那么重复代码会变得容易得多

    class Custom_Controller extends CI_Controller
{

  $this->load->config('site_globals');
  $my_globals = $this->config->item('site');
  echo $my_globals['header_note'];
}
然后,在每个控制器中,您需要使用这些全局变量,您可以使用它,例如:

    class Example extends Custom_Controller
{

  //your code here
}
然后,在每个控制器中,您需要使用这些全局变量,您可以使用它,例如:

    class Example extends Custom_Controller
{

  //your code here
}

application/config/constant.php文件用于此目的。

application/config/constant.php文件用于此目的。

感谢您重播,因为它允许我看到我有一个错误:)感谢您重播,因为它允许我看到我有一个错误:)