疙瘩依赖注入静态或对象

时间:2014-09-30 05:45:42

标签: php dependencies pimple

Pimple帮助跨应用程序重用相同的对象,并管理依赖性。

但如何管理Pimple本身?

我应该创建一个全局对象吗?还是让它成为静态类?还是用一个功能?

我想从任何地方,控制器,模型,插件等访问Pimple方法......

谢谢!

1 个答案:

答案 0 :(得分:0)

很多人认为ServiceLocator是一种反模式,但如果你谨慎使用它,就不会有什么坏处。

<?php

namespace Acme;

class ServiceLocator
{
    static protected $container;

    public static function setContainer(\Pimple $container)
    {
        static::$container = $container;
    }

    public static function get($id)
    {
        return static::$container[$id];
    }
}