CodeIgniter中局部变量作用域的局部视图


Partial Views with Local Variable Scope In CodeIgniter

在我的一个视图中有如下代码:

<?php $this->load->view('_validation_error', array('errors' => $errors, 'field' => 'address_1', 'is_required' => true)); ?>
... some html ...
<?php $this->load->view('_validation_error', array('errors' => $errors, 'field' => 'address_2')); ?>

这允许我在部分中使用$errors, $field$is_required。这很好,尽管这里发生的事情是,如果我不提供'is_required'值在后续调用的部分,它被设置为最后的值是什么(在这种情况下为true)。

我可以每次都把值放进去,但我希望它的行为像一个函数的可选参数。CodeIgniter中是否有任何功能允许局部变量拥有自己的局部变量范围?

好棒!没关系,我想我找到了一个绕过它的方法。

而不是:

<?php $this->load->view('_validation_error', array('errors' => $errors, 'field' => 'address_1', 'is_required' => true)); ?>

I can go:

<?php $this->load->view('_validation_error', array('data' => array('errors' => $errors, 'field' => 'address_1', 'is_required' => true))); ?>

这样我就可以访问$data['errors'], $data['field']$data['is_required']

这样,任何未传递的值都将被覆盖,并且默认情况下是可选的。

:)