ООП - подскажите новичку

Valera

Новичок
Добрый день,
подскажите пож-ста в этой строке return $this->db->insert($this->table_name,$new_values);
обращение идёт к методу insert класса db, а где этот класс? Метод insert написан в классе DataBase. Или в коде что-то недописано или я что-то не понимаю. Спасибо.

P.S. кнопку код не нашёл

PHP:
<?php
    require_once "class_config.php";
    require_once "class_value.php";
    require_once "class_database.php";
    
    abstract class GlobalClass 
    {
        private $db;
        private $table_name;
        protected $config;
        protected $check;
            
        protected function __construct($table_name,$db)
        {
            $this->db = $db;
            $this->table_name = $table_name;
            $this->config = new Config();
            $this->check = new Check();
        }
        
        protected function add($new_values)
        {
            return $this->db->insert($this->table_name,$new_values); 
        }
    }
?>
 
Последнее редактирование:

Jagajaga

Новичок
У вас в конструктор передается экземпляр этого класса. Переменная - $db.
 

Valera

Новичок
спасибо, а где и как переменная $db получит этот экземпляр?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Valera, получит там, где вызывается этот метод, то есть конструктор. Где ты его вызываешь?
 

Jagajaga

Новичок
Вам нужно будет создать экземпляр класса DataBase. А затем, когда вы будете создавать экземпляр класса, который будет наследовать данный абстрактный класс, передать это экземпляр класса DataBase в его конструктор
 
Сверху