Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何扩展多个实用程序类_Php_Oop - Fatal编程技术网

Php 如何扩展多个实用程序类

Php 如何扩展多个实用程序类,php,oop,Php,Oop,这个问题有点针对PHP,但它可能也适用于其他语言。在PHP中,只能扩展一个类。但是如果你需要更多的课程呢 假设我有以下几个类: class MyClass extends Observer, Logger, OtherUtilClass MyClass不能扩展多个类。但它必须是一个观察者。它可能还需要一些其他的基类才能完全发挥作用。最好的方法是什么?在PHP5.4中,一个类可以使用多个类。否 您的想法导致了错误,但在PHP中无法永久使用 我非常建议您阅读这个问题,看看为什么不应该尝试这个 但

这个问题有点针对PHP,但它可能也适用于其他语言。在PHP中,只能扩展一个类。但是如果你需要更多的课程呢

假设我有以下几个类:

class MyClass extends Observer, Logger, OtherUtilClass

MyClass不能扩展多个类。但它必须是一个观察者。它可能还需要一些其他的基类才能完全发挥作用。最好的方法是什么?

在PHP5.4中,一个类可以使用多个类。

否 您的想法导致了错误,但在PHP中无法永久使用

非常建议您阅读这个问题,看看为什么不应该尝试这个


但是,您仍然可以链接这些类。如果以适当的方式完成,您可以获得所有类的功能

Class Observer {}
Class Logger extends Observer {}
Class OtherUtilClasses extends Logger {}

//Now
class MyClass extends OtherUtilClasses {}

这很酷,但很明显,您不能过度使用trait变量。复合继承问题。但特质方法可能会被忽略。我觉得这个链接更好: