Я не уверен, является ли это вопросом Laravel или основным вопросом PHP.
У нас есть один сайт, который состоит из множества микросайтов.Функциональность является общей для всех микросайтов, на самом деле это просто внешний вид каждого микросайта.
В нашей структуре у нас есть один контроллер с именем HierarchyController, который используется каждым микросайтом.Как вы, вероятно, поняли, этот контроллер отвечает за получение иерархии страниц любого микросайта, который вы просматриваете в данный момент.Контроллер напоминает следующее
Class HierarchyController extends BaseController
{
public function index(Request $request)
{
... do some stuff ...
$page_data = [
'something' => 'something_else',
];
return view('common.pages.hierarchy', $page_data);
}
}
Пока ничего сложного.Но теперь мне нужен HierarchyController для нескольких микросайтов, которые содержат их собственные свойства, а также свойства из HierarchyController.Я подумал, что мог бы просто создать специфичный для микросайта HierarchyController, который расширяет основной контроллер, описанный выше.Что-то вроде:
Class MicrositeHierarchyController extends HierarchyController
{
public function index(Request $request)
{
parent::index($request);
$page_data = array_merge(--parent_page_data--, [
'something1' => 'something_else_1',
]);
return view('microsite.pages.hierarchy', $page_data);
}
}
Поскольку родительский HierarchyController возвращает представление, а не массив, я не уверен, как получить доступ к $ page_data из вызывающего класса.Это вообще возможно?
Спасибо