我有一个像这样的抽象页面类:
abstract class Page {
public static function display() {
self::displayHeader();
self::displayContent();
self::displayFooter();
}
public static function displayContent() {
print "<p>some content</p>";
}
public static function displayHeader() {
include_once(kContent . "HeaderContent.class.php");
HeaderContent::display();
}
public static function displayFooter() {
include_once(kContent . "FooterContent.class.php");
FooterContent::display();
}
};
Run Code Online (Sandbox Code Playgroud)
我想从此子类化,并且只覆盖displayContent方法,因此页眉和页脚会自动显示,但仍然可以选择覆盖显示方法,例如.js文件.
现在我有另一个类,看起来像这样:
class FooPage extends Page {
public static function displayContent() {
print "<p>Foo page</p>";
};
Run Code Online (Sandbox Code Playgroud)
现在,它不是调用FooPage的displayContent方法,而是从超类中调用它.
为什么?我能做什么?
编辑
我正在运行PHP 5.2.17