首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CodeIgniter全局变量

CodeIgniter全局变量
EN

Stack Overflow用户
提问于 2010-03-26 22:15:47
回答 4查看 32.9K关注 0票数 11

我在所有视图中使用$data $this->load->view('my_view', $data);

我也有一个自动控制器遵循本指南扩展核心控制器

但是我想使$data成为全局的,因为在views中有一个边栏,它是整个项目的常量,并在自动加载控制器中显示通过db获取的信息。

目前,我必须手动编写$data‘’todo‘,并从自动加载的模型中获取信息。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-26 22:37:23

1:使用以下内容在MY_Controller中创建application/libraries

类MY_Controller扩展控制器{ var $data;//构造函数}

2:在所有控制器文件中将Controller替换为MY_Controller,并用$this->data加载视图

类联系人扩展控制器{//.}类联系人扩展了MY_Controller { $this->load->view(' Contact _view',$this->data);}

通过这种方式,您可以执行适用于MY_Controller中的整个站点的默认功能,比如加载设置。

票数 17
EN

Stack Overflow用户

发布于 2010-03-26 23:20:45

今天早些时候我遇到了一个类似的问题。我发现一个更容易的方法,而不是全局,是使用常量。可以定义将从index.php文件加载的常量文件:

代码语言:javascript
复制
// Include additional constants
$defines_file = 'includes/defines.php';
if (file_exists($defines_file))
{
    require_once($defines_file);
} 

然后可以将常量添加到defines.php文件中:

代码语言:javascript
复制
define(MY_CONSTANT,'my constant info');

这样,它们就可以直接在整个系统的任何文件中使用:echo MY_CONSTANT;或者您可以将它们分配给变量。

我决定这样做对我来说更容易,因为如果我需要更改常量的话,我只有一个位置可以去。

更多:http://codeigniter.com/forums/viewthread/56981/#280205

票数 5
EN

Stack Overflow用户

发布于 2013-01-11 08:18:13

我使用一个助手函数来调用一个全局函数!

例如:

代码语言:javascript
复制
function get_user($userid){
    $CI =& get_instance();

    $query = $CI->db->get_where('users', array('id' => $userid), 1, 0);
    foreach ($query->result() as $row){
        // Return a object with userdata!
        return $row;
    }
}

现在我可以在任何地方访问我的用户数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2527119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档