Объявление закрытой переменной в контроллере Codeigniter

Я новичок в CI, и я пытаюсь получить доступ к закрытой переменной через приложение, но я устанавливаю значение для переменной, в следующий раз, когда я пытаюсь получить доступ к функции (которую я вызвал из формы отправки на мой взгляд), закрытая переменная, которую я установил, пуста. Может кто-нибудь помочь? Спасибо

class Example extends CI_Controller{

private $_variable;

public function __construct()
{
parent::__construct();
}

public function index()
{
//value from database
$this->_variable = 'somevalue';
}

//calling this function from a view
public function some_method()
{
// code...
// $this->_variable returning without any value
}
}

0

Решение

Ваши представления не должны напрямую пытаться получить доступ к методам вашего контроллера, вместо этого вы должны отправлять их при вызове представления во втором аргументе:

Смотрите документы Codeigniter, связанные с этим (Я предполагаю, что вы испанец, потому что вы используете «переменную»).

$args = Array( "var1" => "variable", "var2" => "variable" );
$this->load->view("some_url", $args);

Тогда $ var1 и $ var2 будут доступны на ваш взгляд.

0

Другие решения

Ваш some_method это на самом деле не вид. В лучшем случае это может быть функция примера контроллера, которая будет вызывать из представления. Ваш index() Функция фактически присваивает значение в вашем личном $_variableТаким образом, чтобы передать значение на ваш взгляд, вы должны сначала вызвать index() функция для присвоения переменной и значение будет доступно для вашего some_method(), Ниже приведен пример того, как вы передадите переменную в ваше представление.

    public function some_method()
{

return  $this->_variable;

}

По вашему мнению, для доступа к переменной:

echo $this->some_method();

Я считаю, что это поможет вам показать вашу личную переменную в вашем представлении.

0

По вопросам рекламы [email protected]