php - 如何从控制器访问视图中的变量值
问题描述
我有两个控制器视图对。我从我的 A_Controller 加载了一个带有 $data 变量的视图。在带有新控制器(B_Controller)的新视图(B_View)中,我可以访问该数据,但我也想在视图的控制器(B_Controller)中使用它。反正有访问它吗?
A_控制器
class A_Controller extends CI_Controller {
public function index{
$variable= "some_data";
$data['variable'] = $variable
$this->load->view('B_View', $data)
}
}
B_View
<html>
<body>
<!-- I can access it here -->
<h1><?php echo $variable;?><h1>
</body>
</html>
B_控制器
class B_Controller extends CI_Controller {
public function some_function{
$new_variable = $variable; //but I can't access it here :(
}
}
解决方案
使用会话
- 在 config/autoload.php 中全局启用会话
$autoload['libraries'] = array('session');
- 在 A_Controller 中,初始化变量并将其存储在会话中
class A_Controller extends CI_Controller {
public function index{
$variable= "some_data";
$this->session->set_userdata(array('variable'=>$variable)); //store variable in a session
$data['variable'] = $variable;
$this->load->view('B_View', $data)
}
}
- 在 B_Controller 中,通过会话获取变量
class B_Controller extends CI_Controller {
public function some_function{
$new_variable = $this->session->userdata('variable'); //get back variable from session
}
}
希望能帮助到你 :)
推荐阅读
- archunit - archunit中的members和fiels有什么区别
- python - 按特定顺序查找列表组合 Python
- javascript - 我要在我的功能组件中实现 CustomPicker 以响应本机
- git - `yarn install` 正在改变我的 repo 的 .git/config 文件。我怎样才能找到原因?
- fortran - 哪些编译器选项与 gfortran 一起使用?
- php - 希望在不使用 field_name 的情况下遍历 ACF 子字段以获取标签和值
- python - Python:在将数据从管道分隔文本上传到数据库时保留字符串的确切格式的问题
- r - R Shiny的updateDateInput中没有“datesdisabled”?
- javascript - 直接修改url参数访问时收不到远程视频流
- node.js - 从服务器到客户端实时流式传输 html5 动画