CodeIgniter中具有局部变量范围的局部视图

时间:2011-04-04 16:00:06

标签: php 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。这很好,虽然这里发生的是如果我在后续调用partial时没有提供'is_required'值,它会被设置为最后一个值(在这种情况下为真)。

我可以在每次都输入值,但我希望它的行为类似于函数的可选参数。 CodeIgniter中是否有任何功能允许partials拥有自己的局部变量范围。

1 个答案:

答案 0 :(得分:0)

甜!没关系,我想我想出了一个黑客来解决它。

而不是去:

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

我可以去:

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

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

这样,任何未传入的值都会被覆盖,默认情况下是可选的。

:)