我需要知道我如何能够分享关于我的应用程序的课程。
实际上我在我的 module.php 中创建了一个 Foo 对象,设置了一些属性并希望在另一个类中使用这个创建的 Foo 类。在创建 Foo 对象时,我的 Bar 对象不存在。
我想我必须使用 ServiceManager,但我不知道如何使用他。
我需要知道我如何能够分享关于我的应用程序的课程。
实际上我在我的 module.php 中创建了一个 Foo 对象,设置了一些属性并希望在另一个类中使用这个创建的 Foo 类。在创建 Foo 对象时,我的 Bar 对象不存在。
我想我必须使用 ServiceManager,但我不知道如何使用他。
您可以在 Module.php 中的工厂中创建对象,如下所示:
public function getServiceConfig()
{
return array(
'factories' => array(
'My\Foo' => function($sm) {
$foo = new \My\Foo();
$foo->setAtt('value');
return $foo;
},
),
);
}
然后从服务管理器中获取它,例如从控制器中获取它,如下所示:
$this->getServiceLocator()->get('My\Foo')