CodeIgniter: доступ к переменным вида из помощника - PullRequest
3 голосов
/ 26 сентября 2011

Я расширяю форму form_helper, которая будет заполнять данные из представленного массива.

например:

//Controller - user_controller.php
User_Controller extends CI_Controller{
    function edit(){
        $data['record'] = array('username'=>'robert','email'=>'simplerobert@google.com');
        $this->load->view('edit',$data);
    }
}


//View - edit.php
<?= $record['username']; ?> >> 'robert'
<?= simple_input('halo'); ?>

//Helper - MY_form_helper.php
function simple_input($name){
    var_dump($record); >> Undefined variable: record
    return "<input type='text'/>";
}

Я думал, что помощник должен загрузить переменные из поля зрения. Не очень понял, как это работает. Как я могу получить доступ к переменным вида из помощника?

Ответы [ 3 ]

2 голосов
/ 26 сентября 2011

Попробуйте передать переменную в функцию:

//...

//View - edit.php
<?= $record['username']; ?> >> 'robert'
<?= simple_input('halo', $record); ?>


//Helper - MY_form_helper.php
function simple_input($name, $record){
    var_dump($record);
    return "<input type='text'/>";
}
0 голосов
/ 20 июня 2013

helper - это функция, поэтому вам нужно передать переменную в функцию, чтобы использовать ее. (Тттони писал об этом.) Я думаю, тебе лучше сделать другое мнение. в этом случае вам не нужно передавать переменные.

//View - edit.php
<?= $record['username']; ?> >> 'robert'
<?= $this->load->view('simple_input'); ?>

//View simple_input.php
var_dump($record);
echo "<input type='text'/>";
0 голосов
/ 26 сентября 2011

helper - это функция, поэтому вам нужно передать переменную в функцию, чтобы использовать ее. (Тттони писал об этом.)
Я думаю, тебе лучше сделать другое мнение. в этом случае вам не нужно передавать переменные.

//View - edit.php
<?= $record['username']; ?> >> 'robert'
<?= $this->load->view('simple_input'); ?>

//View simple_input.php
var_dump($record);
echo "<input type='text'/>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...