wmsamolet / object-map
使用数据仓库映射、链接和配置对象的PHP库
1.0.0
2021-11-21 22:02 UTC
Requires
- php: >=7.2.0
- ext-json: *
- wmsamolet/php-object-collections: ^1.0
Requires (Dev)
- phpunit/phpunit: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- squizlabs/php_codesniffer: ^2.0 || ^3.0
README
使用数据存储映射、链接和配置对象的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文件以获取详细信息