castiron/typo3-extbaseinstantiable

小型简单的extbase对象实例化

1.0.1 2018-06-05 06:35 UTC

This package is not auto-updated.

Last update: 2024-09-20 08:25:58 UTC


README

此包提供了一个混入(即特性),允许您将自我实例化(使用TYPO3传统机制)的权力赋予您的类。将此混入添加到任何类中,就可以轻松地使用Extbase ObjectManager进行实例化。

接口

一旦您将特性混合到类中,您就可以调用 MyClass::get() 来获取该类的实例。

详细用法

/**
 * Class MyClass
 */
class MyClass
{
    use \Castiron\ExtbaseInstantiable\Traits\ExtbaseInstantiable;

    /**
     * Some public interface
     */
    public function execute()
    {
        // yadda yadda whatever
    }
}

/**
 * Instantiate (with ObjectManager) and call a public method.
 */
MyClass::get()->execute();

为什么我要这个?

有几个原因使这个很有用

  • 它在TYPO3世界中使类的实例化变得非常简单(相对于直接调用 GeneralUtility::makeInstanceObjectManager::get
  • 它底层使用 ObjectManager::get,因此如果您使用类似 @inject 的注解,则自动依赖注入将正常工作

常见问题解答

它也会尊重类似 SingletonInterface 的标记接口吗?

是的!它在底层使用正常的TYPO3对象实例化,所以所有那些奇怪魔法都将正常工作。

安装

composer require castiron/typo3-extbaseinstantiable