Иногда приходится пропускать элемент в вызове метода, насколько это криво?
Пример
Метод render()
/**
* @param $actionView, темплейт action`а
* @param array $actionData, массив данных для передачи в action
* @param null $layout, указывается, если требуется
кастомный лейаут для экшена
* @param null $layoutData, массив данных для передачи
в лейаут(нужно передать виджет, например)
* @return string
*/
public function render(
$actionView,
$actionData = [],
$layout = null,
$layoutData = null
) {
$action = new self( $actionView );
$layout = new self( $layout );
$action->data = $actionData;
$layout->data = ['content' => $action->rendering()];
$layout->set( 'title', $action->title );
return $layout->rendering();
}
Вызываем для главной страницы
/**
* @return string
*/
public function index()
{
return $this->view->render(
"/site/index",
[
"widget" => $this->view->render("/site/news/widget")
]
);
}
аргументы идут по порядку, все хорошо.
А при вызове 404ой ошибки(к примеру), мне не нужно передавать туда
никакие данные, но нужно выбрать кастомный layout
/**
* class Error
* @return string
*/
public function index()
{
return $this->view->render(
"/site/not_found",
[],
"/layouts/error"
);
}
и приходится передавать пустой массив во второй аргумент.
Нормально ли это?