myMethod()
отображает шаблон с заданными параметрами по умолчанию. Я хотел бы присвоить некоторые значения, используемые в шаблоне twig, прежде чем вызывать логику, расширяя ParentController
.
Я добавил строку псевдокода $this->assignValue('myKey', 'myValue');
, Кто-нибудь знает, есть ли метод, например assignValue()
или как решить мою проблему?
Заранее спасибо!
class ParentController {
protected function myMethod() {
return $this->render('myTemplate.html.twig', array(
'param1' => 'value1',
'param2' => 'value2',
'param3' => 'value3'
));
}
}
class ChildController extends ParentController {
// TODO: Assign some parameters BEFORE
// Pseudocode:
$this->assignValue('myKey', 'myValue');
// /Pseudocode
return parent::myMethod();
}
Вы можете просто переопределить render
в вашем методе ChildController так или иначе:
function render($tpl, $parameters) {
$parameters = array_merge($parameters, ['myKey' => 'myValue']/** or some other parameters*/);
return parent::render($tpl, $parameters);
}