Я должен получить переменную, объявленную в классе и использовать ее в том же классе, но я не получаю ошибку, и она не работает - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть проблема: я должен получить переменную, объявленную в классе, и использовать ее в том же классе, но я не получаю ошибку, и она не работает.Это мой код:

    <?php
class internal {
    protected $settings;
    private $ctoken = '';
    private $fparam = '';
    private $token = '';
    function __construct($ctoken, $fparam, $token){
        $this->ctoken = $ctoken;
        $this->fparam = $fparam;
        $this->token = $token;
    }
    public function settings($settings = ['disable_web_page_preview' => 'false', 'parse_mode' => 'HTML', 'MySQL' => true, 'PostgreSQL' => true])
    {
        $this->settings = $settings;
        echo 'Settings caricate!';
    }
    public function botAdmin($user_id = null)
    {
        if($user_id == NULL){
            $user_id = $this->user_id;
        }
        if(in_array($user_id, $this->settings()['admins'])){
            return true;
        }else{
            return false;
        }
    }


    public function SecTest()
    {
        if($this->ctoken != $this->fparam or $this->token == NULL){
            die("Security test: not passed, script killed.");
        }else{
            echo "Security test: OK. <br />";
            echo json_encode($this->settings);

        }
    }
    public function getSettings(){
        return $this->settings;
    }
}

Я не знаю, что делать, я не получаю никакой ошибки, но если я вызываю метод SecTest, это выдает «null»

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Исправлено, я вызывал метод, который выводит настройки перед объявлением настроек.

0 голосов
/ 03 декабря 2018

Перед вашим _construct методом определите переменные, специфичные для вашего класса.

class internal {
    private $ctoken = '';
    private $fparam = '';
    private $token = '';
    function __construct($ctoken, $fparam, $token){
        $this->ctoken = $ctoken;
        $this->fparam = $fparam;
        $this->token = $token;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...