0

Yii CFormModel で動的変数を追加する方法を教えてください。

private function magic($name, $value) {
    $this->$name = $value;
}

また

$form = new FormGenerate($attributes);
$form->temp = '1';

例外「未決定のプロパティ」を表示 =(

4

2 に答える 2

0

変数 $_params を作成します。

public function __get($name)
    {
        if (isset($this->_params[$name])) {
            return $this->_params[$name];
        }

        return parent::__get($name);
    }


    public function __set($name, $value)
    {
        if (isset($this->_params[$name])) {
            $this->_params[$name] = $value;
        } else {
            parent::__set($name, $value);
        }
    }

それは仕事です=)

于 2015-03-14T16:04:01.773 に答える
0

あなたのクラスでこのようなことを試してください

class Test
{
    public function __construct($x)
    {
        $this->{$x} = "dynamic";
    }
}

$a = new Test("bar");
print $a->bar;

あなたを変えてみてください

$this->$name

$this->{$name}

何が起こるかを見るために。

于 2015-03-14T15:51:59.947 に答える