我已经在CI工作了将近一年,我几乎可以解决我遇到的任何问题。
但现在我遇到了一个类似于视图参数缓存的问题。
示例
控制器方法:
public function cache_test()
{
$data['dummy'] = "foobar";
$this->load->view('cache_view', $data); // should output "foobar"
unset($data['dummy']);
$this->load->view('cache_view', $data); // should output nothing
}
视图:
<? if(isset($dummy)): ?>
<?= $dummy ?>
<? endif; ?>
结果:
foobar foobar
我找到了一个变通方法,必须将变量设置为空字符串
$data['dummy'] = ""
然后将if更改为
if(isset($dummy) && $dummy != "")
但这对我来说似乎不太干净,像这样的东西让我很困扰:/
我们非常感谢任何正确方向的帮助或指示。
编辑:我想用它来加载菜单的几个项目,其中一些视图参数是可选的。然后,这些可选参数决定我是否在视图中显示某些内容。
您可以尝试以下代码,可能会解决您的问题
public function cache_test()
{
$data['dummy'] = "foobar";
$this->load->view('cache_view', $data); // should output "foobar"
unset($data);
$this->load->view('cache_view', $data); // should output nothing
}