2011-04-04 75 views
3

局部视图我有我的观点一个类似下面的代码:与局部变量范围,笨

<?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中是否有任何功能允许partials拥有自己的局部变量作用域。

回答

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']

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

:)