marm/yamm

安装次数: 15,472

依赖: 1

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 2

开放性问题: 0

类型:oxid-module

2.0.2 2018-11-07 10:52 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:26:49 UTC


README

英文

此元模块提供了一般所需的功能,例如

  • 可重用的依赖注入容器

  • 合理的日志功能

DIC 使用

DIC 是 Pimple 的扩展,允许服务标记,并与 Oxid eSales 集成。

要使用 DIC,只需在项目的根目录中放置一个 dic.php 文件,并将所有服务注册在那里。在这个文件中,将有一个可操作的变量 $dic

/** @var \Marm\Yamm\DIC $dic */
$dic['acme_module_service'] = function (\Marm\Yamm\DIC $dic) {
    return new Acme\Module\Service(/* ... */);
};

此外,我们允许对服务进行标记,并在构造服务时接收带有定义标记的所有服务。

/** @var \Marm\Yamm\DIC $dic */
$dic->tag('acme_module_service', 'acme:tag');
$dic['acme_module_service'] = function (\Marm\Yamm\DIC $dic) {
    return new Acme\Module\Service(/* ... */);
};

// Somewhere else or later
$dic['acme_module_aggregator'] = function (\Marm\Yamm\DIC $dic) {
    return new Acme\Module\Aggregator(
        // Array of all services tagged with "acme:tag"
        $dic->getTagged('acme:tag')
    );
};

要获取项目中其他位置的 DIC,只需从 oxRegistry 获取。

/** @var \Marm\Yamm\DIC $dic */
$dic = oxRegistry::get('yamm_dic');

许可条款

YAMM 根据 MIT 许可证发布。

在项目中使用此模块时,请保留作者声明。谢谢!

作者