byjg/anydataset 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

byjg/anydataset

最新稳定版本:6.0.0

Composer 安装命令:

composer require byjg/anydataset

包简介

AnyDataset is a powerful data source abstraction layer for PHP that provides a simple and consistent interface to access different data sources. With AnyDataset, you can work with various data formats and storage systems using the same programming interface.

README 文档

README

Sponsor Build Status Opensource ByJG GitHub source GitHub license GitHub release

AnyDataset is a powerful data source abstraction layer for PHP that provides a simple and consistent interface to access different data sources. With AnyDataset, you can work with various data formats and storage systems using the same programming interface.

It is the core component of the Anydataset project, an agnostic data source abstraction layer for PHP.

Key Features

  • Unified Interface: Access different data sources (databases, arrays, XML, JSON, etc.) using the same interface
  • Flexible Iteration: Multiple ways to iterate through your data
  • Powerful Filtering: Filter your data using a SQL-like syntax
  • Data Transformation: Convert between different formats (JSON, XML, arrays)
  • Validation: Validate your data against rules
  • Extensible: Create your own data source implementations

Quick Start

Installation

composer require "byjg/anydataset"

Basic Usage

<?php
# Create a dataset
$dataset = new \ByJG\AnyDataset\Core\AnyDataset("example");

# Get an iterator
$iterator = $dataset->getIterator();

# Iterate over the results
foreach ($iterator as $row) {
    print_r($row->toArray());
}

Documentation

Core Concepts

Advanced Features

Available Implementations

Data Source Type Implementation Read/Write Repository
Core AnyDataSet R/W Github
Databases DbDriverInterface R/W Github
Arrays ArrayDataSet R Github
Text Files TextFileDataSet R Github
Fixed Width Files FixedTextFileDataSet R Github
XML XmlDataSet R Github
JSON JSONDataSet R Github
SparQL SparQLDataSet R Github
NoSQL Document NoSqlDocumentInterface R/W Github
NoSQL Key/Value KeyValueInterface R/W Github

Example Code Snippets

Filtering Data

<?php
$filter = new \ByJG\AnyDataset\Core\IteratorFilter();
$filter->addRelation("field1", \ByJG\AnyDataset\Core\Enum\Relation::EQUAL, 10);
$iterator = $dataset->getIterator($filter);

Using Formatters

<?php
$formatter = new XmlFormatter($anydataset->getIterator());
$formatter->raw();                           // Return a DOM object
$formatter->toText();                        // Return the XML as a text
$formatter->saveToFile("/path/to/file.xml"); // Save the XML Text to a file

Running Unit Tests

vendor/bin/phpunit

Dependencies

flowchart TD
    byjg/anydataset --> byjg/serializer
    byjg/anydataset --> byjg/xmlutil
Loading

Open source ByJG

统计信息

  • 总下载量: 131.92k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 12
  • 点击次数: 2
  • 依赖项目数: 8
  • 推荐数: 0

GitHub 信息

  • Stars: 12
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-07-23