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
Codeigniter全局变量_Codeigniter - Fatal编程技术网

Codeigniter全局变量

Codeigniter全局变量,codeigniter,Codeigniter,我有一系列在整个应用程序中反复使用的语言名称。最好的方法是什么。我尝试了这个库,下面是一个例子 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Config extends CI_Controller { public $languages = ''; public $languages_en = ''; fu

我有一系列在整个应用程序中反复使用的语言名称。最好的方法是什么。我尝试了这个库,下面是一个例子

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Config extends CI_Controller
    {
        public $languages = '';
        public $languages_en = '';

        function __construct() {
            parent::__construct();

            $this->languages = array('ar', 'cn', 'fr', 'de', 'it', 'jp', 'kr', 'pl', 'pt', 'ru', 'es', 'sk');

            $this->languages_en = array('ar', 'cn', 'fr', 'de', 'it', 'jp', 'kr', 'pl', 'pt', 'ru', 'es', 'sk', 'en');  
        }
    }
?>

然后我尝试加载库并调用变量。但是我得到一个错误,我请求的操作是不允许的


这是最好的方法吗?还是有更好的方法在CI中创建全局变量?顺便问一下,我的类的名称是否存在问题?

是的,
Config
将不是允许的类名,因为CI已经有一个
Config

但是,我会创建一个配置文件来保存这些数组,并在需要时加载该文件

文件:

因此,在您的配置文件
/application/config/languages.php
中,您可以放置以下内容:

$config['languages'] = array('ar', 'cn', 'fr', 'de', 'it', 'jp', 'kr', 'pl', 'pt', 'ru', 'es', 'sk');

$config['languages_en'] = array('ar', 'cn', 'fr', 'de', 'it', 'jp', 'kr', 'pl', 'pt', 'ru', 'es', 'sk', 'en');
然后,在控制器中,可以执行以下操作:

$this->config->load('languages');
$lang = $this->config->item('languages');
$lang_en = $this->config->item('languages_en');