castiron / typo3-extbaseinstantiable
小型简单的extbase对象实例化
1.0.1
2018-06-05 06:35 UTC
Requires
- typo3/cms: ^8.7
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::makeInstance
或ObjectManager::get
) - 它底层使用
ObjectManager::get
,因此如果您使用类似@inject
的注解,则自动依赖注入将正常工作
常见问题解答
它也会尊重类似 SingletonInterface
的标记接口吗?
是的!它在底层使用正常的TYPO3对象实例化,所以所有那些奇怪魔法都将正常工作。
安装
composer require castiron/typo3-extbaseinstantiable