定制 alex-kalanis/nested-tree-nette 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

alex-kalanis/nested-tree-nette

最新稳定版本:v2.2.0

Composer 安装命令:

composer require alex-kalanis/nested-tree-nette

包简介

PHP Library to process nested tree structures - for Nette

README 文档

README

Build Status Scrutinizer Code Quality Latest Stable Version Minimum PHP Version Downloads License Code Coverage

Library to work with Nested tree set. Adapter for Nette and its database connection. Extension of Nested tree package.

About

This is connection between Nested tree package and Nette framework. It exists due differences in accessing DB underneath, because Nette has own Database package and layer and not raw PDO.

Requirements

  • PHP version 8.1 or higher
  • Nette database 3.2

Basic usage

Basic usage is about to same as Nested Tree package. The only difference is in datasource.

class MyNodes extends \kalanis\nested_tree\Support\Node
{
    public ?string $my_column = null;
}

class MyTable extends \kalanis\nested_tree\Support\TableSettings
{
    public string $tableName = 'my_menu';
}

$myNodes = new MyNodes();
$myTable = new MyTable();

// this is usually set via DI
$actions = new \kalanis\nested_tree\Actions(
    new \kalanis\nested_tree\NestedSet(
        new \kalanis\nested_tree_nette\Sources\Nette\MySql(
            $netteExplorer,
            $myNodes,
            $myTable,
        ),
        $myNodes,
        $myTable,
    ),
);

// now work:

// repair the whole structure
$actions->fixStructure();

// move node in row
$actions->movePosition(25, 3);

// change parent node for the one chosen
$actions->changeParent(13, 7);

DB structure

Basic usage is about to same as Nested Tree package.

Running tests

The package contains tests written in Nette Tester.

  • tester - runs all tests

Caveats

As said in Nested Tree package, you must choose if you go with MariaDB or MySQL, because default implementation uses function ANY_VALUE() to go around the problem with non-standard GROUP_BY implementation. So you may either use MySQL 5.7+ or disable ONLY_FULL_GROUP_BY directive in MariaDB. Or write custom query source which itself will go around this particular problem.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-04-04