从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这是php静态数据过早绑定的问题(即子类的all方法是从父类中继承过来的,__CLASS__常量过早的绑定成了父类名),解决这个问题:方法一:class all{ function all() { return __CLASS__; }} class my extends all{ function all() { return __CLASS__; }}//子类定义同名的方法(这其实就是覆盖了父类的方法,让__CLASS__绑定为自己的类名)echo my::all();
专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业永州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
方法二:class all{ function all() { return get_class($this); }} class my extends all{}$my = new my();//非静态调用是不存在过早绑定的情况的。echo $my-all();
这个可以看看php5.3.0版本之后的静态迟绑定相关信息(static关键字)
我建议你在父类中定义一个空函数:
class Db {
// ...
public function connect($config='',$linkNum=0,$force=false) {}
}
或者干脆定义为抽象类(抽象类是不能实例化的):
abstract class Db {
// ...
// 注意这里不能有函数体
abstract public function connect($config='',$linkNum=0,$force=false);
}
父类不能调用子类的函数。这里相当于”父类“调用自己的函数,但这个函数被子类继承(或者实现)。
function getAllIds($id)
{
$res = mysql_query("select * from `表名` where father_id='$id'");
while($row = mysql_fetch_array($res,MYSQL_ASSOC))
{
print_r($row);
getAllIds($row['class_id']);
}
}
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图