本文整理汇总了PHP中Illuminate\Contracts\View\View::nest方法的典型用法代码示例。如果您正苦于以下问题:PHP View::nest方法的具体用法?PHP View::nest怎么用?PHP View::nest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Contracts\View\View
的用法示例。
在下文中一共展示了View::nest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: compose
/**
* Bind data to the view.
*
* @param View $view
*
* @return void
*/
public function compose(View $view)
{
if ($view->group_form_errors and $view->errors->any()) {
$view->nest('form_error_content', $view->bsb_pkg_ref . '::form.control.errors', ['errors' => $view->errors->all()]);
}
foreach ($view->groups as $name => &$input) {
if (is_array($input)) {
if (count(array_filter(array_keys($input), 'is_string'))) {
//The array contains named keys, generate inputs from these options
$view_name = $view->bsb_pkg_ref . '::input.' . (empty($input['type']) ? 'text' : $input['type']);
if (!view()->exists($view_name)) {
$view_name = $view->bsb_pkg_ref . '::input.' . 'text';
}
$input = view($view_name, array_merge(compact('name'), $input), $view->getData());
} else {
//The array contains html strings, display them together within a form-group
$input = view($view->bsb_pkg_ref . '::input.group', ['content' => implode("\n", $input)], $view->getData());
}
} elseif (!str_contains($input, '.form-group')) {
//The input is just a string of html, but it doesn't contain any .form-group element, so we'll wrap it in one
$input = view($view->bsb_pkg_ref . '::input.group', ['content' => $input], $view->getData());
}
}
//TODO: add form-horizontal and form-inline options
}
示例2: compose
/**
* Bind data to the view.
*
* @param View $view
*
* @throws \Exception
*/
public function compose(View $view)
{
if (empty($view->name) and !str_contains($view->getName(), ['csrf', 'group'])) {
//TODO: check if these exceptions can actually be caught. Perhaps it needs to log to file instead?
throw new \Exception('Input needs a "name" parameter set in ' . $view->getPath());
}
$data['control_id'] = $view->bsb_pkg_ref . $view->form_id . $view->name;
//TODO: handle unique id if name is repeated within the form with [] array syntax and radios/checkboxes
if (!empty($view->name) and $view->errors->has($view->name)) {
$data['has_error'] = true;
if (!$view->group_form_errors) {
$view->nest('control_error_content', $view->bsb_pkg_ref . '::form.control.errors', ['errors' => $view->errors->get($view->name)]);
}
}
if ($view->control_error_content or $view->help_text or $view->html_help_text) {
$data['control_description_id'] = $data['control_id'] . 'desc';
}
$view->with($data);
}