在php中编辑受保护的成员

时间:2011-01-15 00:50:51

标签: php protected

我的代码类似于以下内容:

class ModuleRaceRegistration extends Module
{
    protected $strTemplate = "template";
    protected function compile()
    {
         // this doesn't work
         $this->strTemplate = "template2";
    }
}

compile函数中,我需要更改$strTemplate成员。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

是否返回错误?此外,情况可能并非如此,但compileprotected方法,因此您只能在课程内调用它。如果您尝试从课堂外调用它,则需要public

答案 1 :(得分:0)

让我试试

来自manual

的示例
<?php
abstract class Base {
    abstract protected function _test();
}

class Bar extends Base {

    protected function _test() { }

    public function TestFoo() {
        $c = new Foo();
        $c->_test();
    }
}

class Foo extends Base {
    protected function _test() {
        echo 'Foo';
    }
}

$bar = new Bar();
$bar->TestFoo(); // result: Foo
?>