0

我正在尝试将配置变量回显到视图中,但我不相信我做对了,但是在这里阅读答案似乎我做对了。

在我的配置文件夹中,我有以下文件:

帐号/googleplus.php

在该文件中,我有我的变量:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');    
$config['googleplus_client_id']     = "123456789";

在我的控制器中,然后我像这样加载配置文件,然后是视图:

    function __construct()
    {
        parent::__construct();
    $this->load->config(array('account/account', 'account/googleplus'));
    }
function index()
{
    $this->load->view('sign_in');
}

然后在我看来,我像这样回显变量:

<?php echo $this->config->item('googleplus_client_id');

我遇到的问题是它不会回显内容。我是否必须以某种方式将数据传递给视图,还是应该自己解决?

它抛出错误:

配置文件 Array.php 不存在。

4

2 回答 2

2

我认为这是因为$this变量,它与调用它的位置有关(在控制器、模型或视图中),所以$this在控制器中与$this在视图中不同。

另外,一个视图通常不是一个类,所以$this不会是一个类。

相反,您可以将配置传递为:

控制器:

function __construct()
{
    parent::__construct();
    $this->load->config('account/googleplus'); 
}
function index()
{
    $data = array('googleplus_client_id' => $this->config->item('googleplus_client_id'));
    $this->load->view('sign_in', $data);
}

看法:

<?php echo $googleplus_client_id;
于 2013-07-01T20:15:57.877 回答
2

这是因为 $this->load->config() 不接受数组参数。你应该做

$this->load->config('account/account');
$this->load->config('account/googleplus');

在您的控制器中。然后你可以打电话

$this->config->item()

在您的视图文件中。根据这里的文档,应该是

$this->config->load()

而不是

$this->load->config()
于 2013-07-01T20:27:21.930 回答