可以扩展php类(多个类扩展一个)。
----- ------的init.php
include_once $_SERVER['DOCUMENT_ROOT'].'/lib/php/functions.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/lib/php/template.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/lib/php/debug.php';
----- ------的functions.php
class Functions{
// content here
}
----- Template.php ------
class Template extends Functions{
public $sTitle = "";
public function setTitle($title){$this->sTitle = $title;}
}
----- debug.php ------
class debug extends Functions{
// content here
}
Functions:Template->setTitle('my title');
如果你知道更好的做法,请与我分享。 (这些类位于"类函数"文件中包含的不同文件中)
答案 0 :(得分:1)
当然可以。实际上,您可以使用minimal compiling example:
进行自我测试<?php
class SuperClass {
public function __construct(){ echo 'I am the common superclass. '; }
}
class LittleClass extends SuperClass{}
class LittleLittleClass extends SuperClass{}
new LittleClass();
new LittleLittleClass();
除此之外,调用类Functions
闻起来很像很糟糕的设计。如果要在代码库中包含通用函数,请考虑在其他地方而不是在继承链中收集它们。
答案 1 :(得分:1)
你可以包含对超类没有任何作用的函数setTitle()(在你的情况下是函数)。然后在模板中,您可以覆盖其功能。在这种情况下,在'debug'类上运行此函数是安全的。即。
----init.php------
include_once $_SERVER['DOCUMENT_ROOT'].'/lib/php/functions.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/lib/php/template.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/lib/php/debug.php';
-----Functions.php------
class Functions{
// content here
public function setTitle($title){}
}
-----Template.php------
class Template extends Functions{
public $sTitle = "";
public function setTitle($title){$this->sTitle = $title;}
}
-----debug.php------
class debug extends Functions{
// content here
}
Functions:Template->setTitle('my title');