PHP 扩展类

red*_*ory 5 php oop

我有一个关于在 PHP 中扩展类的问题。

我在 php 网站上看到的示例在方法中只有 1 行代码...如果方法有大量代码,它是一样的吗?

如果这是基类:

class BaseClass {

    public function WithWayTooMuchCode {
      // like 100 lines of code here
    }

}
Run Code Online (Sandbox Code Playgroud)

那么,如果我想使用相同的方法,但只更改一两件事,我是否必须复制所有代码?

class MyOwnClass extends BaseClass {
     public function WithWayTooMuchCode {
      // like 100 lines of code here

     // do I have to copy all of the other code and then add my code??
    }

}
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎有点不干......

mpe*_*pen 5

是的,除非那一两件事恰好是在开始或结束时。您可以通过调用父函数

parent::WithWayTooMuchCode();
Run Code Online (Sandbox Code Playgroud)

您可以将其放置在子/重写方法中的任何位置。

如果感觉不干燥,请考虑将函数拆分为更小的方法。