Laravel视图渲染封装

第一种

app/Helpers/ViewHelper.php 创建一个辅助函数,用于动态确定视图路径:

<?php
if (!function_exists('fetchView')) {
    function fetchView($data = [])
    {
        $currentAction = \Route::currentRouteAction();
        list($controller, $method) = explode('@', $currentAction);

        $viewPath = 'admin.' . strtolower(str_replace('Controller', '', class_basename($controller))) . '.' . $method;

        return view($viewPath, $data); // 将数据传递给视图
    }
}

接下来,在控制器中使用这个辅助函数来自动定位视图文件:

public function index(Request $request)
{
    $data = [
        'title' => '首页',
        'content' => '欢迎来到首页!'
    ];

    return fetchView($data); // 将数据传递给视图
}

在视图中使用参数

 

<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>{{ $content }}</p>
</body>
</html>

第二种

protected function view($data)
{
    $currentAction = \Route::currentRouteAction(); // 获取当前路由的控制器方法名
    list($controller, $method) = explode('@', $currentAction);

    // 根据控制器和方法名确定视图路径
    $viewPath = 'admin.' . strtolower(str_replace('Controller','',class_basename($controller))) . '.' . $method;

    return view($viewPath)->with(['data'=>$data]);
}
public function index(Request $request)
{
    $data = 'test'; // 传参数据
    return $this->view($data);
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值