本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

本文中,苏南大叔描述一下对querylist中的setData()getData()的函数理解。getData()大家已经多次使用过了,而setData(),使用的场景,还是比较罕见的。

苏南大叔:如何使用 QueryList 的 setData() 方法 - querylist-setdata
如何使用 QueryList 的 setData() 方法(图2-1)

对于QueryList来说,data就是collection。而原版的php中,是没有collection对象的。所以这里的collection的定义来自于:LaravelTightenco库。是致力于在laravel生态之外,使用laravelcollection的一个composer库。

苏南大叔:如何使用 QueryList 的 setData() 方法 - tightenco
如何使用 QueryList 的 setData() 方法(图2-2)

QueryList setData(Collection $data)

设置采集结果数据,此方法仅提供给插件使用。

用法

$ql = QueryList::getInstance();
$ql->setData(collect([
    'txt' => '自定义内容'
]));
$data = $ql->getData();
print_r($data->all());

输出:

Array
(
    [txt] => 自定义内容
)

说明

在上述代码中,并没有设置采集的规则,数据源之类的代码。直接把一个php数组,转变为了collection,然后作为数据结果,通过setData()放到了ql之中。而原本熟悉的getData(),还是可以顺利取得相关结果。

所以,这个函数如何使用,就看大家的想象力了。官方的说明链接是下面的这个:

总结

虽然这个setget是一组函数,但是大多数情况下,data是仅仅get,不用主动set的。

更多querylist经验文章,请点击苏南大叔提供的链接地址:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。