wmsamolet/object-map

使用数据仓库映射、链接和配置对象的PHP库

1.0.0 2021-11-21 22:02 UTC

This package is auto-updated.

Last update: 2024-09-22 04:07:45 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require PHP Version Require

使用数据存储映射、链接和配置对象的PHP库

描述

此库适合那些想要的人

  • 创建松耦合组件
  • 动态连接和配置处理类

文档

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

php composer.phar require wmsamolet/object-map

"wmsamolet/object-map": "^1.0"

将以下内容添加到您的 composer.json 文件的require部分。

基本用法

<?php

use Wmsamolet\ObjectMap\Domain\Repository\Memory\ObjectElementRepository;
use Wmsamolet\ObjectMap\Domain\Repository\Memory\ObjectLinkingRepository;
use Wmsamolet\ObjectMap\Domain\Service\ObjectMapService;

$objectMapService = new ObjectMapService(
    new ObjectElementRepository(),
    new ObjectLinkingRepository()
);

class TargetObject
{
}

class LinkedObject1
{
}

class LinkedObject2
{
}

// Add objects to map (adding information to the repository)
$objectMapService->addObjectToMap(TargetObject::class, 'Target object');
$objectMapService->addObjectToMap(LinkedObject1::class, 'Linked object #1');
$objectMapService->addObjectToMap(LinkedObject2::class, 'Linked object #2');

// Link objects to class TargetObject
$objectMapService->linkObjects(TargetObject::class, LinkedObject1::class);
$objectMapService->linkObjects(TargetObject::class, LinkedObject2::class);

// Get linked objects class name collection
$classNameCollection = $objectMapService->collectLinkedObjectsClassNames(
    TargetObject::class
);

// Get linked objects config collection ['class_name' => [...], ...]
$objectConfigCollection = $objectMapService->collectLinkedObjectsConfigs(
    TargetObject::class
);

许可

PHP Object Map采用MIT许可证授权 - 请参阅LICENSE文件以获取详细信息