barnabynorman / result-set
使用过滤器和管理工具来管理项目集合
1.13.1
2024-07-01 07:02 UTC
Requires
- php: ^7.3||^8.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
ResultSet是一个围绕数组类型数据集的项目。我将其大部分作为类似Eloquent的类编写,用于查询存储在JSON文件中的数据。后来,我将其与SQL查询的输出一起使用,为每行数据库创建对象实例,并将它们存储在内存中的ResultSet中,这为我提供了数据和逻辑之间的抽象,以及快速访问数据的方法,而无需每次都编写查询。因为我在内存中保留了ResultSet的实例,所以我只会从数据库读取一次,并多次查询ResultSet,这使得它非常快!我之前编写的一个具有多个数据库查询(并且坦白说结构很差)的老项目,在使用ResultSet重连后,从秒级下降到毫秒级——这是在每个页面加载时都发生的!
显然,ResultSet并不适合每个人——可能有很多更好的工作方式,比如一开始就更好地结构化数据,以便减少查询次数、缓存,我还没有在大数据集上测试过,所以它可能运行得像狗一样!但我喜欢能够获取一组数据,用ResultSet创建它,并在我指尖上拥有非常强大的工具集来访问数据。
ResultSet本质上是一个php ArrayObject,提供了一组方法来过滤/查询和操作内部的数据,可以是对象或数组(或两者)。没有火箭,只有简单、老式的php,任何人都可以编写(主要是foreach循环),看看这里。它非常简单易用,只需创建一个新的对象或使用静态方法获取实例,然后传递数据并开始使用。
入门指南
使用Composer
$ composer require barnabynorman/result-set
{
"require": {
"barnabynorman/result-set": "^1.00"
}
}
<?php require 'vendor/autoload.php'; use ResultSet\ResultSet; $rs = new ResultSet(['one', 'two', 'three']); print_r($rs->first());
不使用Composer
但是使用 composer 非常简单!下载ResultSet的最新版本,将ZIP存档的内容放入您的项目目录中。然后需要ResultSet.php文件。
<?php require 'path/to/ResultSet.php'; use ResultSet\ResultSet; $rs = new ResultSet(['one', 'two', 'three']); print_r($rs->first());