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');