承接 oliva/tree 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

oliva/tree

最新稳定版本:1.4.1

Composer 安装命令:

composer require oliva/tree

包简介

Utility for handling tree data structures and building trees from flat data stored in database tables and alike.

README 文档

README

📢

It's been a long time since the dawn of this library. It still runs on modern PHP, but it's far from optimal.

See a modern reimplementation of this library here: 👉 dakujem/oliva

Oliva Tree

PHP from Packagist Tests Coverage Status

Utility for handling tree data structures.

💿 composer require oliva/tree

📖 documentation

Oliva Tree is a powerful yet simple to use utility for handling tree data structures in PHP.

Useful for handling tree data stored in database or for performing search and filter operations on arbitrary tree structures.

Why use Oliva Tree?

  • data manipulation
  • write components like menus, tree views, grids, data lists, etc. with ease.
  • it's documented
  • battle and unit tested

What can you do with Oliva Tree?

  • build tree structures from arbitrary flat data with support for
    • materialized path data model
    • recursive trees (parent - id) (adjacency list data model, self-joined tables)
    • build trees from JSON strings
  • build trees using a fluent interface
  • seamlessly wrap objects with Node class and keep using them as before
  • enhance functionality of data already in tree structures
  • find nodes, breadth-first or depth-first
  • filter nodes by any condition
  • compare trees, nodes, sub-trees
  • provide means for easy tree structure manipulation
  • transform tree structures (back) to flat data, in breadth-first or depth-first manner

Documentation

For more in-depth information, use cases and other examples, see the documentation section.

Installation

composer require oliva/tree

Older versions of Oliva Tree run on PHP 5.4 and up and also PHP 7.0 and up. Versions since 1.3 support PHP 7.4+ and PHP 8+ (including PHP 8.2 and PHP 8.3).

Changelog

Notable changes only.

1.4

  • PHP 8.1+ supported
  • some return type-hints added

1.3

  • PHP 8.0 support added
  • PHP >= 7.4 required
  • updated to a simple permissive license (Unlicense)

1.2.3

  • updated licensing to enable multi-licensing, i.e. one can now use any of GPL, MIT or BSD license, see license.md for more information

Missing features

I never added these...

  • prunning (condition- and depth-based)
  • node moving mechanism / helpers
  • tree writers - alter the node's data to reflect current tree structure (prepare for storage) - a counterpart to tree builders
  • unite and document exception codes
  • support for nested sets data model

On the second thought, most of these things are outside the scope of this library anyway.

Notes

Great thank's to folks in Via Aurea for providing valuable support, motivation and real-world testing.

🎉

I finally found a reason to reimplement the idea of this tool for building and managing trees.

See the modern reimplementation here: 👉 dakujem/oliva

统计信息

  • 总下载量: 28.99k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: Unlicense
  • 更新时间: 2015-10-18