[英]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')); ?>
这允许我在partial中使用$errors
, $field
和$is_required
。 这很好,虽然这里发生的是如果我在后续调用partial时没有提供'is_required'值,它将被设置为最后一个值(在这种情况下为true)。
我可以在每次都放入值,但我希望它的行为类似于函数的可选参数。 CodeIgniter中是否有任何功能允许partials拥有自己的局部变量范围。
甜! 没关系,我想我想出了一个黑客来解决它。
而不是去:
<?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']
。
这样,任何未传入的值都会被覆盖,默认情况下是可选的。
:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.