Проблема, которая, как вам кажется, заключается в том, что вы не можете выполнять множественное наследование (class YourClass extends main, messages
).
Общее ощущение, что если вам нужно многократное наследование, вы делаете что-то не так в своем дизайне.
Каждый класс несет ответственность за единственную вещь. «Расширение» в этом случае «IS A» «main», но это не «сообщения», поэтому он не должен быть ребенком этого. ЕСЛИ вам нужна возможность обмена сообщениями, нет никакого «стыда» вообще, просто называя его, как вы предлагаете: вы получаете себе хороший объект, который знает, как общаться, и играть с этим. Нет реальной необходимости делать это по-другому.
Если вы ищете альтернативы (которые вам действительно не нужны, насколько я могу видеть!), Вы можете сделать это классом с кучей статических методов и просто называть его messages::someMethod()
, но я думаю что в этом случае будет рассматриваться как анти-шаблон.
Просто пойдите с ним: сообщения создаются объектом типа message
. Итак, вы делаете это и вызываете функцию. В конце концов, если вам понадобятся большие изменения (подключение к базе данных, ведение журнала и т. Д.) Для обмена сообщениями, вы можете сделать все это в своем приятном и уютном классе сообщений. Все счастливы :)
Я не уверен, что вы ищете 'virtual' или' static' метод? Взгляните на руководство http://php.net/manual/en/language.oop5.static.php – Vyktor