Php 如何在CodeIgniter 2.2中声明全局变量?
我在CodeIgniter中有这样一个控制器Php 如何在CodeIgniter 2.2中声明全局变量?,php,codeigniter,Php,Codeigniter,我在CodeIgniter中有这样一个控制器 class C extends CI_controller { public function A() { var $data; } public function B(){ //here i need to access the variable $data; } } 如何在CodeIgniter中实现这一点?我可以使用会话。在会话中分配该变量真的是件好事吗?有没有更好
class C extends CI_controller {
public function A()
{
var $data;
}
public function B(){
//here i need to access the variable $data;
}
}
如何在CodeIgniter中实现这一点?我可以使用会话。在会话中分配该变量真的是件好事吗?有没有更好的方法来声明全局变量
我以前是这样的,但现在不工作了
class C extends CI_controller {
public $data;
public function A()
{
$this->data=1;
}
public function B(){
//here $this->data showing null value y
}
}
全局变量仅存在于请求的生存期内。因为对于一个请求,控制器中只执行一个函数(或者你用错误的方式执行!),所以全局变量不起作用
您必须将其放入会话或数据库中。全局变量仅存在于请求的生存期内。因为对于一个请求,控制器中只执行一个函数(或者你用错误的方式执行!),所以全局变量不起作用 您必须将其放入会话或数据库中。使用: 使用:
您应该尝试在配置文件上设置一些变量,然后您只需在控制器构造函数中包含该文件,就可以从任何视图访问这些变量。。。
您应该尝试在配置文件中设置一些变量,然后将该文件包含在控制器构造函数中,您可以从任何视图访问这些变量。。。
如果出现这种情况,您拥有的第二块代码将不起作用:输入C/A页,然后输入C/B页。页面完成后,您将无法使用存储在全局变量中的值 尝试使用会话或flashdata。Flashdata与会话类似,只是在下一次页面调用后它会消失
以下是会话和flashdata的CI页面供参考:如果出现这种情况,您拥有的第二块代码将不起作用:输入C/A页,然后输入C/B页。页面完成后,您将无法使用存储在全局变量中的值 尝试使用会话或flashdata。Flashdata与会话类似,只是在下一次页面调用后它会消失 以下是会话和flashdata的CI页面,以供参考:
class C extends CI_controller {
public function A()
{
$this->load->library('session');
$data = array('data'=>$data); //set it
$this->session->set_userdata($data);
}
public function B(){
$this->load->library('session');
$this->session->userdata('data'); //access it
}
}