0

首先,关于oop 等,我几乎是个菜鸟,所以请善待。

我确实阅读了很多手册,但不知何故迷失在所有的东西中,找不到答案:(所以任何提示、链接等将不胜感激

无论如何,我发现自己处于需要在执行类中的特定方法时调用函数的情况。但是,我不能碰课堂本身。

为了演示,这个类是这样的:

/* icannot touch this class*/
class Bar extends Foo {
/*some other methods and variables here, omitted for sanity reasons**/

function DBSave(){      

    $this->cat_parent = intval($this->cat_parent);
    $this->cat_num_files = intval($this->cat_num_files);

    return parent::DBSave();
}

/*some more methods omitted for sanity reasons**/
}
/*end of class*/

/ **编辑*** /

根据下面的评论,我现在写/添加了以下内容,但它并没有真正按照我希望的方式做事:(

class Baz extends Bar {
    public function DBSave() {
        /*here I want to use $this->cat_parent etc to do something with*/
        parent::DBSave();
    }
}
/*this is probably also wrong, but I tried with the following results*/
$b = new Baz();/*just adding this does nothing*/
$b->DBSave();/* when this is added as well it *always* runs regrdless of whether bar->foo is called*/

另外 - 我忘了提,抱歉 - Baz 中的方法需要变量($this->cat_parent 等),希望上述内容有意义......?

/ **编辑结束* ** /

每当调用 DBSave 时,我想运行另一个函数,但我不知道该怎么做:( 我尝试了一些扩展类的方法,但它只是出错或一直调用它等等......将不胜感激

如果需要,当然很乐意扩展这个问题

谢谢

4

1 回答 1

1

最简单的方法可能是:

class Baz extends Bar {
    public function DBSave() {
        parent::DBSave();
    }
}

您可以在该方法的主体中定义其他功能。

于 2013-04-06T14:23:51.597 回答