Я работаю с PHP и несколькими языками ООП и все еще задаюсь вопросом о значении шаблона проектирования и ООП на PHP и подобных языках.Дизайн шаблона и ООП в PHP?
У меня есть некоторые модули в моем проекте: новости, форум ... Каждый модуль может получить доступ, называя его основным классом.
- Главный класс маршрутизации страницы ~> указывает на новости/статьи, новости/категории.
- Имейте некоторые настройки/переменные модуля.
И дочерние классы в каждом модуле обрабатывают эти конкретные функции/страницы.
Каков наилучший шаблон для этой модели? Создать экземпляр класса или его дочернего элемента?
Теперь я инициализирую класс и получаю доступ к статическим методам дочернего класса, подобным приведенному ниже примеру. Но я прочитал, используя статический метод, может замедлить код?
class news {
__construct() {
// define module settings
...
// routing all module pages
categories::list();
}
function modulesetting() {}
}
class categories extends news {
static function list() {}
}
Использование статического метода немного медленнее, чем экземпляр класса, но с другой стороны, статический метод сохраняет память. я вижу, что ваш дочерний класс 'categories' наследует класс' news', поэтому вам не нужен экземпляр класса 'news', потому что экземпляр' inherit метода наследования 'и т. д. – Kazz
вы можете перезаписать метод' list' и 'modulesetting' для каждый дочерний класс, есть способы вызвать родительские методы из перезаписываемых методов, таких как «parent :: list();» или «parent :: modulesettings();», и еще один пример: вы можете, например, сделать что-то подобное в 'news -> __ construct': 'if ($ this instanceof categories) {...}' – Kazz
, если вы создаете абстрактный базовый класс для всех основных классов, которые обрабатывают маршрутизацию, и добавьте фундаментальный контроль для всех детей лучшим способом, на мой взгляд, – Kazz