Задать вопрос
getmanrus
@getmanrus
Начинающий разработчик

Как вывести класс?

В общем, сделал класс на проверку авторизации пользователя
<?php
class core{
    private $db; // подключаем бд
    // Даем переменные
    public static $userData = array(); // Все данные пользователя
    // Главные функции тут
    function __construct() {
        $this->authorize(); // Авторизация пользователя
    }
    // Проверка авторизации
    private function authorize() {
        if (isset($_COOKIE['autes'])):
            $cookieToken = $_COOKIE['autes'];
            $req = DB::$dbs->query('SELECT * FROM `user` WHERE `autes` = ? LIMIT 1',[$cookieToken]);
            if ($req->rowCount()):
                self::$userData = $req->fetch();
            else:
                setcookie('autes','',time()-3600,'/');
            endif;
        endif;
    }
}
?>
// получаем данные из класса
$user = core::$userData;
// Возвращает пустое значение ((
var_dump($user);

Возвращает пустое значение :c Как сделать, что бы эта фигня заработала?
  • Вопрос задан
  • 213 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
Ну при статическом использовании конструктор не вызывается, надо всю статику переделать на нормальное и нормально создавать экземпляр класса и все будет работать
class Core{
    private $db; // подключаем бд
    // Даем переменные
    private $userData = array(); // Все данные пользователя
    // Главные функции тут
    public function __construct() {
        $this->authorize(); // Авторизация пользователя
    }
    // Проверка авторизации
    private function authorize() {
        if (isset($_COOKIE['autes'])):
            $cookieToken = $_COOKIE['autes'];
            $req = DB::$dbs->query('SELECT * FROM `user` WHERE `autes` = ? LIMIT 1',[$cookieToken]);
            if ($req->rowCount()):
                $this->userData = $req->fetch();
            else:
                setcookie('autes','',time()-3600,'/');
            endif;
        endif;
    }
    public function getData()
    {
        return $this->userData ?? null;
    }
}

$core = new Core();
$data = $core->getData():
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы