Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Пример из оф. документации:
$logic = function() {
return 'Hello world!';
}
Route::get('my/page', $logic);
Вопрос: как в функцию передать аргумент из маршрута ?
Задача: В функцию передавать название вьюшки, а функция возвращает главный макет с привязкой макета с переданным именем.
Т.е. вместо
Route::get('/', function()
{
return View::make('common.container')->nest('content', 'index');
});
Писать
Route::get('/', $static_content); <---- и ещё как-то передать название макет в функцию.
Изменено WebMax (23.07.2013 11:20:36)
Не в сети
function makeClosure($view) {
return function () use ($view) {
return View::make('common.container')->nest('content', $view);
};
}
$logic = makeClosure('index');
// ...
Не в сети
Немного не то. Используя Ваш подход мне придется для каждого шаблона переназначать переменную $logic, а хотелось бы передавать в Closure название шаблона сразу при объявлении маршрута.
Как пример:
Route::get('/', $logic, 'index')
т.е. при объявлении маршрута передаем название шаблона, $logic содержит в себе Closure, 'index' - название шаблона.
Извиняюсь, если вопросы глупые!
Изменено WebMax (23.07.2013 11:59:30)
Не в сети
Вопрос снят. Разобрался. Спасибо за помощь!
Не в сети
Не в сети
А решение Вы предоставили. Только использовал я функцию без переменной.
function makeClosure($view) {
return function () use ($view) {
return View::make('common.container')->nest('content', $view);
};
}
Route::get('/', makeClosure('index'));
Не в сети
Страницы 1