[英]CodeIgniter global variable
1:在application/libraries
创建MY_Controller
,如下所示:
class MY_Controller extends Controller { var $data; //constructor function }
2:在所有控制器文件MY_Controller
Controller
替换为MY_Controller
,并使用$this->data
加载视图
class Contact extends Controller { //to.. } class Contact extends MY_Controller { $this->load->view('contact_view', $this->data); }
这样您就可以在MY_Controller
执行适用于整个站点的默认函数,例如加载设置。
我今天早些时候遇到了类似的问题。 我发现使用常量更简单,而不是全局变量。 您可以定义将从index.php文件加载的常量文件:
// Include additional constants
$defines_file = 'includes/defines.php';
if (file_exists($defines_file))
{
require_once($defines_file);
}
然后,您可以将您的常量添加到defines.php
文件中:
define(MY_CONSTANT,'my constant info');
这样,它们将直接在整个系统的任何文件中可用: echo MY_CONSTANT;
或者你可以将它们分配给变量。
我决定这种方式对我来说会更容易,因为我只需要一个位置去/当我需要更改常量时。
更多: http : //codeigniter.com/forums/viewthread/56981/#280205
我使用辅助函数来调用全局函数!
例如。
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;
}
}
现在我无处不在访问我的用户数据..
我建议使用HMVC构建模块以生成此侧边栏视图,而不是使视图数据全局化。 HMVC是一种很好的编写部分视图的简洁方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.