hackweekender-aw / spryker-autowiring
此软件包为 Spryker 提供自动连接功能
dev-main
2023-07-09 10:19 UTC
Requires
- php: >=8.0
- php-di/php-di: dev-master
- spryker/kernel: ^3.73
This package is not auto-updated.
Last update: 2024-09-30 14:23:21 UTC
README
#Hackweekender2023
安装
使用 composer 安装
composer require hackweekender-aw/spryker-autowiring
在配置中添加命名空间
$config[KernelConstants::CORE_NAMESPACES] = [
[...]
'AW'
];
用法
Yves
- 在控制器中包含
\AW\Yves\Kernel\ClassResolverAwareTrait
- 调用
$this->resolveClass(AmazingYvesClass::class)->yourAmazingMethod()
客户端
- 在客户端中包含
\AW\Client\Kernel\ClassResolverAwareTrait
- 调用
$this->resolveClass(AmazingClientClass::class)->yourAmazingMethod()
Zed
- 在 facade 中包含
\AW\Zed\Kernel\ClassResolverAwareTrait
- 调用
$this->resolveClass(AmazingZedClass::class)->yourAmazingMethod()
手动配置 DI
- 使您的模块的依赖提供者实现接口
\AW\Shared\Kernel\DependencyInjection\ConfigurableDependencyInjectionInterface
- 使用 https://php-di.org/doc/php-definitions.html#definition-types 定义自定义定义
public function getDependencyInjectionConfig(): array
{
return [
AmazingCartOperationInterface::class => DI\autowire(AmazingCartOperation::class)
->constructorParameter('postOperationPlugins', $this->getPostOperationPlugins())
];
}