footwork_solutions/json_table 问题修复 & 功能扩展

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

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

footwork_solutions/json_table

Composer 安装命令:

composer require footwork_solutions/json_table

包简介

A validator and storage library using the JSON table schema written in PHP.

README 文档

README

Scrutinizer Code Quality Code Coverage Build Status Dependency Status

A validator and storage library using the JSON table schema written in PHP.

This is a great utility library for validating that CSV files, streams or any other data source validates against a predefined JSON table schema definition.

Limitations

Although this library has many great features, it does not (yet) adhere to the entire JSON table schema specification.

Currently the parts of the specification that are NOT supported are:

  1. Formats:

    • array
    • binary (this is just validated as a string)
    • geopoint
    • geojson
  2. Constraints currently there is no support for constraints.

  3. Foreign Keys

    The same schema structure is accepted but with the following considerations: * "datapackage" MUST be "postgresql". * "resource" MUST be the name of the table to use with optional schema qualifier. I.E. "import.t_table_name". * "fields" follow the JSON table schema specification but refer to the fields in the database table.

Motivation

This library was written to fulfill a need for Halo a commercial client management system maintained by Footwork Solutions Ltd.

It is used to validate and store data as part of a import tool for users of Halo.

We use a lot of open source projects at Footwork Solutions and this project, along with our other open source work is our way of giving back to the community we appreciate so much.

Usage

See the examples directory for a detailed run through of how to validate and store a CSV file.

Quick Start

Validate a CSV file:

// Instantiate the analysis class.
$lo_analyser = new \JsonTable\Analyse();

// Let the analyser know where the JSON table schema is.
$lo_analyser->set_schema('/your/file/path/example.json');

// Let the analyser know where the CSV file to validate is.
$lo_analyser->set_file('/your/file/path/example.csv');

// Check whether the file is valid against the schema.
$lb_file_is_valid = $lo_analyser->validate();

Store the valid CSV file:

$lo_store = \JsonTable\Store::load('postgresql');
$lb_file_is_stored = $lo_store->store('your_table_name');

Installation

composer require footwork_solutions/json_table

Implementation Notes

  • datetime; date; time - fmt:[PATTERN] - This supports PHP date formats @see http://php.net/manual/en/datetime.formats.date.php
  • datetime; date; time - ISO8610 - The following formats are validated without specifing a format:
    • Combined date and time in UTC: 2015-03-09T13:07:04Z
    • Date: 2015-03-09
    • Time: hh:mm:ss
  • Given the range of options that match the ISO8610 format, we recommend that you always specify a format.
  • Pattens: A delimiter must be included in the regex.
  • Column name checking is case insensitive.
  • Foreign keys with a single field can be omitted from the CSV and the foreign key check will be ignored. However, foreign keys with multiple fields must have all those fields in the CSV file.

Contributors

Bugs & Feature Requests

Please use the issue tracker to report any bugs or request new features.

Developing

Pull Requests are always welcome.

Please ensure that your code meets the PSR-1, PSR-2 and PSR-4 standards.

  1. Fork the repository.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes.
  4. Push to the branch (git push origin my-new-feature).
  5. Create a new Pull Request.

Licence

This is free software distributed under the terms of the MIT license. See LICENCE for the full details.

footwork_solutions/json_table 适用场景与选型建议

footwork_solutions/json_table 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 31 次下载、GitHub Stars 达 6, 最近一次更新时间为 2015 年 09 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「validation」 「json table schema」 「data protocols」 「open knowledge foundation」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 footwork_solutions/json_table 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 footwork_solutions/json_table 我们能提供哪些服务?
定制开发 / 二次开发

基于 footwork_solutions/json_table 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 31
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 19
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 9
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-09-08