РАСШИРИТЬ КЛАСС PHP
Классы являются одной из основных возможностей объектно-ориентированного программирования в PHP. Расширение классов позволяет добавлять новые методы или свойства к уже существующим классам без изменения их исходного кода. Рассмотрим пример расширения класса для управления базами данных:
Данный код соединяется с базой данных test на локальном сервере с именем пользователя root и пустым паролем. Затем вызывается метод get_table_data() для извлечения всех данных из таблицы users. Результат выводится с помощью функции var_dump(). Этот пример показывает, как расширять существующий класс и добавлять новые методы и свойства.
class Database {
public $host;
public $username;
public $password;
public $db_name;
function __construct($host, $username, $password, $db_name){
$this->host = $host;
$this->username = $username;
$this->password = $password;
$this->db_name = $db_name;
}
function connect() {
$conn = new mysqli($this->host, $this->username, $this->password, $this->db_name);
return $conn;
}
}
class CustomDatabase extends Database {
public $table_name;
function __construct($host, $username, $password, $db_name, $table_name) {
parent::__construct($host, $username, $password, $db_name);
$this->table_name = $table_name;
}
function get_table_data() {
$conn = $this->connect();
$result = $conn->query("SELECT * FROM ".$this->table_name);
return $result->fetch_all();
}
}
В данном примере создан новый класс CustomDatabase, который расширяет родительский класс Database и добавляет новый метод get_table_data(), который извлекает данные из указанной таблицы базы данных. В конструкторе CustomDatabase также добавлено свойство table_name, которое указывает на имя таблицы в базе данных. Теперь можно создать объект CustomDatabase и использовать его методы для работы с базой данных:$db = new CustomDatabase('localhost', 'root', '', 'test', 'users');
$data = $db->get_table_data();
var_dump($data);
Данный код соединяется с базой данных test на локальном сервере с именем пользователя root и пустым паролем. Затем вызывается метод get_table_data() для извлечения всех данных из таблицы users. Результат выводится с помощью функции var_dump(). Этот пример показывает, как расширять существующий класс и добавлять новые методы и свойства.
ООП на PHP за 2 часа. Курс по PHP. Объектно ориентированное программирование на PHP
Наследование в PHP (ООП) - Базовый курс PHP-7
ООП для начинающих PHP. Методы класса.Функции
PHP Продвинутый курс ➤ Расширения РНР и их использование. Модули языка PHP
Александр Лисаченко. Выходя за рамки ООП. Разработка расширений для PHP ... на PHP!
ООП PHP ЗА ЧАС! - ОСНОВЫ PHP ДЛЯ НАЧИНАЮЩИХ - НА ПРАКТИКЕ
PHP. Наследование классов (extends) - ООП - 88
#6 Программирование на языке PHP в редакторе VS Code, PHP расширение для VS Code