У меня есть 5 скриптов, скажем: database.php, parent.php, child1.php, child2.php и somescript.php
Класс parent.php выглядит следующим образом:
include 'database.php';
class Parent {
public $db;
function __construct() {
$this->db = new Database();
}
}
child1 и child2 классы выглядят следующим образом:
include 'parent.php';
class Child1 extends Parent {
function __construct() {
parent::__construct();
}
function useDb() {
$this->db->some_db_operation();
}
}
Проблема
Когда я пытаюсь включить child1 и child2 в somescript.php, он возвращает следующую ошибку:
не может объявить базу данных класса, поскольку имя уже используется в database.php в строке 4 (это строка, содержащая базу данных классов слов)
Но если я включаю только один файл (child1 или child2), он отлично работает.
Как это исправить?