@AlvesOfficial

Не видит класс, который привязан, что делать?

PHP Fatal error:  Uncaught Error: Class 'models\\User' not found in C:\\xampp\\casino\\src\\CasinoBot.php:80\nStack trace:\n#0 C:\\xampp\\casino\\hook.php(50): byte\\CasinoBot::getUser(Object(Medoo\\Medoo), '767353205')\n#1 C:\\xampp\\casino\\hook.php(140): returnKeyboardMain(Object(Medoo\\Medoo), '767353205')\n#2 C:\\xampp\\casino\\src\\TelegramBot.php(116): {closure}(Array)\n#3 C:\\xampp\\casino\\hook.php(142): byte\\TelegramBot->on('\\\\/start', Object(Closure))\n#4 {main}\n  thrown in C:\\xampp\\casino\\src\\CasinoBot.php on line 80


Код (CasinoBot.php):
<?php


namespace byte;

use Medoo\Medoo;
use models\User;


class CasinoBot
{
    /**
     * @param Medoo $database
     */
    public static function generateDatabase(Medoo $database) {
        $database->create("users", [
            "id" => [
                "INT",
                "NOT NULL",
                "AUTO_INCREMENT"
            ],
            "id_telegram" => [
                "INT",
                "NOT NULL"
            ],
            "timestamp" => [
                "INT"
            ],
            "state" => [
                "VARCHAR(100)",
                "NOT NULL",
                "DEFAULT 'start'"
            ],
            "data" => [
              "TEXT",
              "DEFAULT NULL"
            ],
            "balance" => [
                "FLOAT",
                "NOT NULL",
                "DEFAULT 0"
            ],
            "role" => [
                "VARCHAR(100)",
                "NOT NULL",
                "DEFAULT 'guest'"
            ],
            "PRIMARY KEY (<id>)"
        ], [
            "AUTO_INCREMENT" => 1
        ]);
    }

    /**
     * @param Medoo $database
     * @param string $id_telegram
     * @return bool
     */
    public static function hasUserGuest(Medoo $database, string $id_telegram) : bool
    {
        return $database->has("users", [
            "id_telegram" => $id_telegram,
            "role" => "guest"
        ]);
    }

    /**
     * @param Medoo $database
     * @param string $id_telegram
     * @return User
     */
    public static function getUser(Medoo $database, string $id_telegram) : User
    {
        $user = $database->select("users", "*", [
            "id_telegram" => $id_telegram
        ])[0];

        file_put_contents("_temp.txt", print_r($user, true));

        return new User($user['id'], $user['id_telegram'], $user['state'], $user['balance'], $user['role'], $user['timestamp'], $user['data']);
    }
}


bh2fKek.png

Код (User.php):
<?php


namespace models;


class User
{
    public $id;
    public $id_telegram;
    public $timestamp;
    public $state;
    public $data;
    public $balance;
    public $role;

    public function __construct(int $id, string $id_telegram, string $state, float $balance, string $role, int $timestamp, $data)
    {
        $this->id = $id;
        $this->id_telegram = $id_telegram;
        $this->state = $state;
        $this->balance = $balance;
        $this->role = $role;
        $this->timestamp = $timestamp;
        $this->data = $data;
    }
}
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@AlvesOfficial Автор вопроса
Перезагрузил Apache и заработало.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
вангую что в списке автозагрузчика только src/
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы