Моя php функция не может изменить значение переменной класса - PullRequest
0 голосов
/ 23 марта 2020

Итак, у меня есть эта проблема: у меня есть функция с именем admin_connected(boolean), и в коде я положил true или false в это логическое значение, независимо от того, правильны ли имя пользователя и пароль или нет. Эта функция является классом с именем Driver, и я хочу, чтобы при срабатывании функции она сохраняла логическое значение в переменной Driver, чтобы я мог работать со значением позже. Что происходит, так это то, что оно вообще не сохраняет значение.

class Driver
{
    public $is_admin_connected_q;

    public function admin_connected($admin_connected)
    {
        $this->is_admin_connected_q = $admin_connected; // Does not save the value
    }

    public function return_is_admin_connected() // Function used to tell the program whether it should 
                                                // render standard UI or administrator´s UI
    {
        return($this->is_admin_connected_q;);
    }

}

Я на 100% уверен, что проблема заключается в сохранении логического значения в $this->is_admin_connected_q, потому что если я напишу

   public function admin_connected($admin_connected)
    {
        $this->is_admin_connected_q = true;
    }

Изменение значения $admin_connected вручную на true не работает. Однако, если я напишу, что

public $is_admin_connected_q = true; 

, это прекрасно работает. Проблема не в обновлении страницы, потому что она даже не работает сразу после регистрации администратора.

У вас есть какие-нибудь подсказки, как решить эту проблему. Я буду рад любой помощи.

1 Ответ

1 голос
/ 23 марта 2020

Эта проблема внутри return_is_admin_connected() функции. Измените его следующим образом:

public function return_is_admin_connected()
{
    return $this->is_admin_connected_q;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...