Twig を使用すると、配列またはオブジェクトをテンプレートに渡すことができ、両方のデータ構造のメンバーにアクセスするための同じインターフェイスが提供されます。たとえば、次のようになります。
$test = array('foo' => 'foo', 'bar' => 'bar');
test.foo
およびとしてテンプレートでこれにアクセスできるようにしますtest.bar
このオブジェクトのインスタンスは同じ効果を持ちます。これは非常に素晴らしいです:)
class test
{
public $foo;
public $bar;
}
魔法の __set および __get メソッドを使用するオブジェクトはどうですか?
class test
{
public $properties;
public function __set($name, $value)
{
$this->properties[$name] = $value;
}
public function __get($name)
{
return $this->properties[$name];
}
}
残念ながら、この場合、このオブジェクトのプロパティにアクセスできません。ここでの Twig の問題なのか、それとも PHP 自体の問題なのかはわかりません。