将方法添加到现有的 class 中,无需太多更改

Adding methods to existing class without much changes

我需要将新方法包含到现有的 class 中,而不会在 class 内部进行太多更改。我不知道该怎么做。因为我不能使用例如 include_once('mynew.class.php') 然后在里面写我所有的新代码,所以我尝试了以下并且它有效。

我可以在 B 中添加新方法,它们是 A 的进程,正如我所希望的那样。

class A extends B {
"the existing code"
}
class B {
 "my new code"
}

我认为这不是正确的方式,因为在这种情况下,B 应该有主要逻辑,A 应该得到新代码,对吧?

我现在不知道如何在 class 中模拟类似 include 的东西。

当然我可以在现有的 A 中编写我的新函数而不继承,但在这种情况下我想按照我解释的那样做,几乎不接触现有的文件。

有什么建议吗?希望有人能理解这个问题。

谢谢

尝试使用 Trait。它基本上允许您在 class.

中重用(或在您的情况下包含)函数

代码示例

<?php
trait SayHello {
   public function sayHello() {
       echo 'Hello';
   }
}

class Base {
    use SayHello;
}

$o = new Base();
$o->sayHello();
?>