public function save(PropelPDO $con = null)
{
if ($this->isNew() && !$this->getExpiresAt())
{
$now = $this->getCreatedAt() ? $this->getCreatedAt('U') : time();
$this->setExpiresAt($now + 86400 * sfConfig::get('app_active_days'));
}
return parent::save($con);
}
我不明白返回父:: save($ con)请帮帮我,谢谢
答案 0 :(得分:1)
它正在调用父方法save
,所以这个类从它调用该方法的任何类扩展。
class Animal {
public function getName($name) {
return "My fav animal: " . $name;
}
}
class Dog extends Animal {
public function getName($name) {
return parent::getName($name);
}
}
$dog = new Dog();
echo $dog->getName('poodle');
答案 1 :(得分:1)
如果你查看类声明,它会说类似
class ThisClass extends anotherClass.
您不理解的行是在anotherClass
中返回save()方法的输出parent
是关键字,表示“此类正在扩展的类”
{{1>}(范围解析运算符)允许您调用该方法 - 前提是它被声明为 static 而不实例化类 -
除非有其他事情发生,否则您应该能够用
替换该行::
答案 2 :(得分:1)
这个类扩展了一个Propel Model类,它也有一个save()方法。此save方法会覆盖父级的save()方法。当调用这个重写的save()时,它首先做一些与这个具体类相关的工作,然后调用父的save(),它将持久保存数据库中对象的属性。
答案 3 :(得分:0)
::
是范围解析运算符。它允许您从类中访问属性或方法。
parent
关键字指的是当前类的父类。
考虑到这一点,您的return
语句正在调用您班级的父级save()
方法。