我正在寻找扩展PHP类以添加自定义方法的方法。特别是我想为MongoDate添加一个日期格式方法(来自PHP MongoDB驱动程序)。
我只是觉得如果从Mongo集合中收到的MongoDate对象提供了一种方法使其可读,并且无需调用函数或类来执行此操作,那就更清晰了。
$d = new MongoDate();
some_date_format($d); // the way it works now
$d->format(); // the way it would be cleaner
有没有解决方案?
答案 0 :(得分:5)
继承它!
class myClass extends MongoDate{
public function format(){
}
}
然后执行它:
$d = new myClass ();
some_date_format($d); // the way it works now
$d->format(); // the way it would be cleaner
答案 1 :(得分:2)
扩展它。这是一个基本的OOP原则。
class NewClass extends MongoDate {
public function newFunction(){
//Stuff here.
}
}
这将定义一个新类NewClass
,它将继承旧MongoDate
类中的所有公共和受保护属性和方法,并且还包含newFunction()
函数。
答案 2 :(得分:0)
你不能改变PHP驱动程序返回日期的类型,所以lznogood&真理的答案是你能做的最好的。