cpana / hierarchybundle
使用 Neo4j 和 Symfony 进行层级管理
Requires
- php: >=5.3.0
- ext-curl: *
- everyman/neo4jphp: dev-master
This package is not auto-updated.
Last update: 2024-09-26 00:37:06 UTC
README
使用 Neo4j 和 Symfony 进行层级管理
这个 Symfony 扩展管理公司层级,从 Neo4j 数据库检索和存储信息。层级基于分组:PHP 分组是软件开发组的部分,而软件开发组又是 IT 部分的部分,等等。用户是这些分组的一员,拥有不同的角色(经理、员工等)。
HierarchyBundle 包括一个前端,普通用户可以浏览数据,以及一个管理员区域,可以在此创建、编辑和删除信息。
这个扩展的想法来自 Neo4j 文档:https://neo4j.ac.cn/docs/stable/examples-user-roles-in-graphs.html HierarchyBundle 使用 Neo4jPHP 库 https://github.com/jadell/neo4jphp
安装
使用 composer:
composer require cpana/hierarchybundle
在 AppKernel 中注册该扩展:
new CPANA\HierarchyBundle\CPANAHierarchyBundle(),
将您的参数添加到 app/config/config.yml:
cpana_hierarchy:
group_hierarchy_manager_neo4j:
neo4j_user: 'user'
neo4j_password: 'password'
def_rel_type_group_to_group: 'PART_OF'
def_rel_type_user_to_group: 'MEMBER_OF'
root_group_id: '11111'
manager_role_property: 'manager'
default_property_group: 'name'
default_property_user: 'name'
您需要指定层级根节点,通过在参数 "root_group_id" 中提供该节点的 Neo4j Id。
导入路由到 app/config/routing.yml:
cpana_hierarchy:
resource: "@CPANAHierarchyBundle/Controller/"
prefix: /h
type: annotation
安装资产:
php app/console assets:install
在您的浏览器中输入项目路径并添加 app_dev.php/h/admin/home。如果您正在使用 Wiki 中提供的示例数据 https://github.com/cristianpana86/HierarchyBundle/wiki/Sample-data 搜索用户 Peter,您应该会看到类似以下内容
待办事项
- 编写测试
- 处理有两个父节点的节点