Php 从全局变量中的数据库获取用户配置

Php 从全局变量中的数据库获取用户配置,php,codeigniter,configuration,codeigniter-2,codeigniter-3,Php,Codeigniter,Configuration,Codeigniter 2,Codeigniter 3,我是Codeigniter的新手。 我的数据库中有一个名为“sysConfig”的表,其中包含标题、货币单位、许可证密钥和 我想将这个表记录的第一行(它只有一条记录)添加到一个名为“$Config”的全局变量,该变量在所有视图中都可用(如果可能在模型和控制器中可用) 编辑: 我可以从数据库中选择任何数据,我对此没有任何问题。我想在名为$Config的变量中选择sysConfig表上的数据,并像这样直接访问它或如果这些是系统配置项,最好的方法是将它们加载到您自己的配置文件中 创建自己的配置文件。手

我是Codeigniter的新手。 我的数据库中有一个名为“sysConfig”的表,其中包含标题、货币单位、许可证密钥和

我想将这个表记录的第一行(它只有一条记录)添加到一个名为“$Config”的全局变量,该变量在所有视图中都可用(如果可能在模型和控制器中可用)

编辑:
我可以从数据库中选择任何数据,我对此没有任何问题。我想在名为$Config的变量中选择sysConfig表上的数据,并像这样直接访问它

如果这些是系统配置项,最好的方法是将它们加载到您自己的配置文件中

创建自己的配置文件。手动加载或自动加载

$this->config->load('filename');
像这样访问其中的项目

$this->config->item('item_name');
您还可以使用以下方法动态设置配置项:

$this->config->set_item('item_name', 'item_value');
您可以在以下文档中阅读:


或者,如果这是基于用户的,则将信息收集到当前会话中并访问该会话。尽管访问模型或库中的会话变量不是一个好主意。您应该将必需的项作为函数参数传递。

如果这些是系统配置项,最好的方法是将它们加载到您自己的配置文件中

创建自己的配置文件。手动加载或自动加载

$this->config->load('filename');
像这样访问其中的项目

$this->config->item('item_name');
您还可以使用以下方法动态设置配置项:

$this->config->set_item('item_name', 'item_value');
您可以在以下文档中阅读:


或者,如果这是基于用户的,则将信息收集到当前会话中并访问该会话。尽管访问模型或库中的会话变量不是一个好主意。您应该将所需的项作为函数参数传递。

一种方法是向需要
sysConfig
数据的任何控制器添加属性。变量的名称不应为$config,因为CI已使用该符号-它由
config
类定义和设置。因此,对于这个答案,我将使用
$sysConfig

class Some_controller extends CI_Controller
{
  protected $sysConfig; //class property with scope to this controller

  public function __construct()
  {
    parent :: __construct();
    $this->load->model('sysConfig_model');
  } 
sysConfig\u model
(未显示)管理您似乎已建立的表。我正在为该模型编写函数,因为您没有向我们显示任何代码。模型函数
get($id)
根据
$id
检索所需的“用户”,并返回数组中的数据。(未显示具有有效值的
$id
设置。)

控制器可以根据需要通过
$this->sysConfig
使用属性,就像在这个公认的微不足道的控制器函数中一样

类定义继续使用

  public function format_title()
  {
     if(isset($this->sysConfig){
       $this->sysConfig['suckup'] = "the most highly regarded " 
       . $this->sysConfig['title'] 
       . " in the world visit our site!";
     }
  }
实际上,为
$this->sysConfig
赋值发生在下一段代码中。在本例中,控制器的
index()
函数可以接收一个参数,该参数是我们希望从数据库中获取的用户的“ID”

  public function index($id = NULL)
  {
    //assign data to the class property $sysConfig from the model
     $this->sysConfig = $this->sysConfig_model->get($id); 
属性可以很容易地传递给视图。首先我们做一些吸吮

     $this->format_title(); 
     $data['userStuff'] = $this->sysConfig;
     $this->load->view('some_view', $data);
  } //end of index()

} //end of class Some_controller
some_view.php

<div>
  <h4>Welcome <?php echo $userStuff['firstName']. " " . $userStuff['lastName']; ?></h4>
  <p>I cannot say how swell it is to have <?php echo $userStuff['suckup']; ?></p>
</div>

欢迎
我说不出有多好


“全局”的概念实际上与PHP或任何其他OOP语言中的OOP方法论相反

一种方法是向需要
sysConfig
数据的任何控制器添加属性。变量的名称不应为$config,因为CI已使用该符号-它由
config
类定义和设置。因此,对于这个答案,我将使用
$sysConfig

class Some_controller extends CI_Controller
{
  protected $sysConfig; //class property with scope to this controller

  public function __construct()
  {
    parent :: __construct();
    $this->load->model('sysConfig_model');
  } 
sysConfig\u model
(未显示)管理您似乎已建立的表。我正在为该模型编写函数,因为您没有向我们显示任何代码。模型函数
get($id)
根据
$id
检索所需的“用户”,并返回数组中的数据。(未显示具有有效值的
$id
设置。)

控制器可以根据需要通过
$this->sysConfig
使用属性,就像在这个公认的微不足道的控制器函数中一样

类定义继续使用

  public function format_title()
  {
     if(isset($this->sysConfig){
       $this->sysConfig['suckup'] = "the most highly regarded " 
       . $this->sysConfig['title'] 
       . " in the world visit our site!";
     }
  }
实际上,为
$this->sysConfig
赋值发生在下一段代码中。在本例中,控制器的
index()
函数可以接收一个参数,该参数是我们希望从数据库中获取的用户的“ID”

  public function index($id = NULL)
  {
    //assign data to the class property $sysConfig from the model
     $this->sysConfig = $this->sysConfig_model->get($id); 
属性可以很容易地传递给视图。首先我们做一些吸吮

     $this->format_title(); 
     $data['userStuff'] = $this->sysConfig;
     $this->load->view('some_view', $data);
  } //end of index()

} //end of class Some_controller
some_view.php

<div>
  <h4>Welcome <?php echo $userStuff['firstName']. " " . $userStuff['lastName']; ?></h4>
  <p>I cannot say how swell it is to have <?php echo $userStuff['suckup']; ?></p>
</div>

欢迎
我说不出有多好


“全局”的概念实际上与PHP或任何其他OOP语言中的OOP方法论相反

在提出任何问题之前,请阅读文档。例如,你可以通过这个@sayantan das,我可以从数据库中选择任何数据,我对此没有任何问题。我想在名为$Config的变量中选择sysConfig表上的数据,并直接访问它。然后,您可以添加一个帮助文件,并在帮助文件中编写一个函数,如“getConfig('Config_name_here'),它将检索请求的配置值。现在,如果您自动加载自定义帮助程序,该助手中的所有功能将在整个项目中可用。你可以在问任何问题之前阅读文档。例如,你可以通过这个@sayantan das,我可以从数据库中选择任何数据,我对此没有任何问题。我想在名为$Config的变量中选择sysConfig表上的数据,并直接访问它。然后,您可以添加一个帮助文件,并在帮助文件中编写一个函数,如“getConfig('Config_name_here'),它将检索请求的配置值。现在,如果您自动加载自定义帮助程序,该助手中的所有功能将在整个项目中可用。您可以像这样访问它,谢谢您的回复。如何从数据库加载此项目?因为每个用户都有自己的设置,所以我无法将它们保存在文件中。一旦您对用户进行了身份验证,就可以将它们设置到会话变量中,即