serlo-org/athene2-class-resolver

此包已被废弃且不再维护。未建议替代包。

为 Athene2 提供类解析组件的 Zend Framework 2 模块

1.0 2014-07-27 16:03 UTC

This package is not auto-updated.

Last update: 2020-03-02 04:35:29 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

Athene2 类解析器是一个 Zend Framework 2 模块,它允许你像专家一样解析类。使用 Doctrine 实体接口?没问题,类解析器可以帮助你找到正确的实现!

使用方法

在你的 module.config.php 中添加

    'class_resolver'  => [
        'My\ClassInterface' => 'My\CrazyClass'
    ]

现在你可以轻松地将接口解析为类名(例如,对于 Doctrine 实体很有用)或真实类

$classResolver = $serviceManager->get('ClassResolver\ClassResolver');
$className     = $classResolver->resolveClassName('My\ClassInterface');
$class         = $classResolver->resolve('My\ClassInterface');

echo $className; // prints "My\CrazyClass"
echo get_class($class); // prints "My\CrazyClass"

如果你希望通过 Zend 的 ServiceManager 实例化类,请执行以下操作

$classResolver = $serviceManager->get('ClassResolver\ClassResolver');
$class         = $classResolver->resolve('My\ClassInterface', true);

echo get_class($class); // prints "My\CrazyClass"