木质素/类映射器

提供类映射。

dev-master 2022-07-02 06:10 UTC

This package is auto-updated.

Last update: 2024-08-30 01:20:41 UTC


README

为提供类到名称的映射器框架。

安装

安装此库的推荐方法是通过composer

composer require xylemical/class-mapper

用法

use Xylemical\ClassMapper\SingleClassMapper;
use Xylemical\ClassMapper\MultipleClassMapper;
use Xylemical\ClassMapper\ClassMapperManager;

$manager = new ClassMapperManager();

$mapper = new SingleClassMapper('SingleInterface', [
  Implementation::class => 'implementation',
]);
$manager->addMapper($mapper);

$name = $mapper->getName(Implementation::class); // $name == 'implementation'
$class = $mapper->getClass('implementation');  // $class == Implementation::class

$mapper = new MultipleClassMapper('MultipleInterface', [
  Implementation1::class => 'implementation',
  Implementation2::class => 'implementation',
])
$manager->addMapper($mapper);

$name = $mapper->getName(Implementation1::class); // $name == 'implementation'
$class = $mapper->getClasses('implementation'); // $class == [Implementation1::class, Implementation2::class]

$mapper = $manager->getMapper('SingleInterface'); // $mapper == SingleClassMapper
$mapper = $manager->getMapper('MultipleInterface'); // $mapper == MultipleClassMapper.

许可证

MIT,见LICENSE。