Я работаю над личным проектом, и я впервые использую ООП. Мой проект имеет базовый класс, который распространяется другими (базовая настройка). Чтобы уточнить, это то, что я делаю:
Базовый класс:
class ABC { function __construct() { ... } }
Расширение класса:
class DEF extends ABC { function __construct() { ... } }
Хотя базовый класс всегда загружен, другие классы загружаются в зависимости от ситуации.
Мой вопрос в том, каков правильный способ динамической загрузки правого расширенного класса? Должен ли я импортировать оба php? Должен ли я использовать базовый класс ( $ x = new ABC () ), а затем загрузить другой класс из базового класса?
Вы можете использовать автозагрузчик в верхней части файла:
function __autoload($className) { require_once $className . '.php'; }
Или вы можете использовать родительский класс «constuctor» в дочернем классе constuctor и вручную импортировать файл php:
require_once(your_file.php); class DEF extends ABC { function __construct() { parent::__construct(); } }
Если вы поместите все свои классы в одну и ту же папку и назовите их [class] .php, вы можете поместить следующее в начало своего скрипта, и все они будут загружаться магически
<?php function __autoload($class_name) { require_once $class_name . '.php'; }
Если они входят в разные папки, просто выполните свою собственную схему