Инициализация класса в stati c class php - PullRequest
0 голосов
/ 10 июля 2020

У меня есть класс, отвечающий за подключение к базе данных, и он возвращает само подключение в методе построения

Как я могу использовать его внутри класса c stati?

База данных. php

<?php


class Database {

    private $host = "localhost";
    private $usuario = "root";
    private $senha = "";

    protected $connection;

    public function __construct()
    {
        if(!isset($this->connection))
        {
            $this->connection = new mysqli($this->host, $this->usuario, $this->senha, "netflix_cards", 3308);
            mysqli_set_charset($this->connection, "utf8");
            if(!$this->connection) {
                echo 'Não foi possível conectar ao banco de dados';
                exit;
            }

            return $this->connection;
        }
    }

    public function query($query)
    {
        return $this->connection->query($this->connection->real_escape_string($query));
    }
?>

Пользователь. php

<?php


class User {

    static function register() {
        
    }
}

1 Ответ

0 голосов
/ 10 июля 2020

Лучшая практика - избегать чисто stati c класса и одноэлементного шаблона (см. Ответ здесь: PHP одноэлементный шаблон подключения к базе данных

Вы должны создать экземпляр User с new , и зависимость - внедрить экземпляр подключения к базе данных, который вы передаете в качестве параметра, где это необходимо.

Как кто-то заметил, вы должны сначала заставить свой Database работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...