Php 将方法添加到现有类而不做太多更改

Php 将方法添加到现有类而不做太多更改,php,oop,include,extends,Php,Oop,Include,Extends,我需要在现有类中包含新方法,而不需要在该类中进行太多更改。我不知道怎么做。由于我不能使用eginclude_once('mynew.class.php')然后在其中编写所有新代码,所以我尝试了以下方法,效果很好 我可以在B中添加新方法,它们是A的进程,正如我所希望的那样 class A extends B { "the existing code" } class B { "my new code" } 我认为这不是正确的方法,因为在这种情况下,B应该有主逻辑,A应该得到新代码,对吗 我现在

我需要在现有类中包含新方法,而不需要在该类中进行太多更改。我不知道怎么做。由于我不能使用eg
include_once('mynew.class.php')
然后在其中编写所有新代码,所以我尝试了以下方法,效果很好

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

class A extends B {
"the existing code"
}
class B {
 "my new code"
}
我认为这不是正确的方法,因为在这种情况下,B应该有主逻辑,A应该得到新代码,对吗

我现在不知道如何在类中模拟类似于
include
的内容

当然,我可以在现有函数中编写新函数,而无需继承,但在本例中,我希望按照我解释的那样做,并且几乎不涉及现有文件

有什么建议吗?希望大家都能理解这个问题

谢谢

尝试使用。它基本上允许您在类中重用(或包括在您的案例中)函数

代码示例

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

class Base {
    use SayHello;
}

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

试着使用。它基本上允许您在类中重用(或包括在您的案例中)函数

代码示例

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

class Base {
    use SayHello;
}

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


您是否考虑过使用特质?不,我会仔细看看。所以这适合于这种问题?我显然没有那么丰富的经验…它基本上允许您在类中重用(或包括在您的案例中)函数。它应该适合你。这似乎只是扩展了现有的方法…有点重复使用它们?或者我错过了什么……我需要新的方法,不管现有的方法是什么。抱歉,如果我弄错了。请检查我的代码示例您考虑过使用特征吗?不,我会仔细看看。所以这适合于这种问题?我显然没有那么丰富的经验…它基本上允许您在类中重用(或包括在您的案例中)函数。它应该适合你。这似乎只是扩展了现有的方法…有点重复使用它们?或者我错过了什么……我需要新的方法,不管现有的方法是什么。抱歉,如果我弄错了。请检查我的代码示例Nice,很高兴它有帮助。只需再问一个问题…这个解决方案很有魅力,但我的第一种方法通常是错误的,或者你能做到这一点,而不打乱其他程序员吗?对于你在类中插入更多函数的问题,它也应该起作用,但更好的方法是让类
B
拥有继承类
a
的新代码,然后使用类
B
的对象,在那里您需要访问
a
和/或
B
的属性,因为
B
是一个
a
好的对象,很高兴它起到了作用。还有一个问题…这个解决方案很有魅力,但我的第一种方法通常是错误的,或者你能做到这一点,而不会让其他程序员感到不安吗?对于你在类中插入更多函数的问题,它也应该起作用,但更好的方法是让类
B
拥有继承类
a
的新代码,然后使用类
B
的对象,您需要访问
a
和/或
B
的属性,因为
B
是a
a