75142913在线留言
【Laravel实战】模板数据调用方法的简单实现_PHP技术_网络人

【Laravel实战】模板数据调用方法的简单实现

Kwok 发表于:2022-05-10 19:10:09 点击:31 评论: 0

通常在实际开发中,我们会使用到数据调用功能,通过一小块功能函数代码,返回我们需要的数据,如下图区域:

Laravel实战模板数据调用方法的简单实现

通用情况下,我们需要在不同的位置重复的使用这些调用的数据。下面我分享一下我个人使用的数据调用解决方案。

一、数据调用函数

我们需要借助自定义的辅助函数来实现数据调用功能,在app/helpers.php 写入下面的代码:

if (!function_exists('get_blocks')) {
    /**
     * param {*} $type 调用数据类型
     * param {*} $order 按字段排序
     * param {*} $limit 限制查询数量
     */
    function get_blocks($type, $order = 'id', $limit = 8)
    {
        static $datas = [];
        $key = 'block_' . $type . '_' . $order . '_' . $limit; //缓存|数组 key
        if (empty($datas[$key])) {
            switch ($type) {
                case 'articles': //文章调用
                    $datas[$key] =  cache()->remember($key, 86400, function () use ($limit, $order) {
                        return Article::where('status', 0)//限制文章状态
                            ->orderByDesc($order)//排序方式
                            ->take($limit) //限制查询数量
                            ->get()
                            ->toArray();
                    });
                    break;
                default:
                    break;
            }
        }
        return $datas[$key] ?? [];
    }
}

我们将查询到的数据存到缓存里,这样就不会出现多次数据库查询操作了。

二、显示调用的数据

在模板里可以通过下面的方式循环显示数据即可:

@foreach (get_blocks('article') as $article)
<li><a href="$article['url']">$article['subject']</a></li>
@endforeach
除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:https://www.55mx.com/post/221
1
感谢打赏!

《【Laravel实战】模板数据调用方法的简单实现》的网友评论(0)

本站推荐阅读

热门点击文章