2011-04-04 89 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']

這樣,任何未通過的值都會被覆蓋,默認情況下是可選的。

:)