Abstract Class yii\twig\Template
| Inheritance | yii\twig\Template » Twig_Template |
|---|---|
| Source Code | https://github.com/yiisoft/yii2-twig/blob/master/Template.php |
Template base class
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| getAttribute() | yii\twig\Template |
Method Details
| protected getAttribute ( mixed $object, mixed $item, array $arguments = [], mixed $type = \Twig_Template::ANY_CALL, mixed $isDefinedTest = false, mixed $ignoreStrictCheck = false ) | ||
| $object | mixed | |
| $item | mixed | |
| $arguments | array | |
| $type | mixed | |
| $isDefinedTest | mixed | |
| $ignoreStrictCheck | mixed | |
protected function getAttribute($object, $item, array $arguments = [], $type = \Twig_Template::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
{
// Twig uses isset() to check if attribute exists which does not work when attribute exists but is null
if ($object instanceof \yii\base\Model) {
if ($type === \Twig_Template::METHOD_CALL) {
if ($this->env->hasExtension('sandbox')) {
$this->env->getExtension('sandbox')->checkMethodAllowed($object, $item);
}
return call_user_func_array([$object, $item], $arguments);
} else {
if ($this->env->hasExtension('sandbox')) {
$this->env->getExtension('sandbox')->checkPropertyAllowed($object, $item);
}
return $object->$item;
}
}
return parent::getAttribute($object, $item, $arguments, $type, $isDefinedTest, $ignoreStrictCheck);
}