ZF2配置文件之 service_manager 项

可以直接实例化:意为实例化时不需要传入任何参数
不能直接实例化:意为实例化时必需要传入所需参数

<!-- lang: php -->

<?php
array(
'service_manager' => array(
	//所有的key值(name)默认不能重复,如果需要覆盖,则需要加上参数,allow_override
	'allow_override' => $boolean
	// 直接将对象存入服务管理器(name => object)
	'service' => array(
		'Name' => new Foo()
	), 
	/* 能够直接被实例化的类名,需要带上类所在的命名空间(name => class name)
	 * 延迟加截(只有在服务管理器get该类时,才会实例化该类)
	 * 单例模式(每次get的都是同一个对象)
	 */
	'invokables' => array(
		'Name' => 'Namespace\ClassName'
	),
	/* 如果一个类不能直接被实例化,则必须写在这里 (name => factory class name)
	 * 该类必须实现 Zend\ServiceManager\FactoryInterface 接口
	 */
	'factories' => array(
		'Name' => 'Namespace\FactoryClassName'
	),
	// 给一个服务(别名)设置一个或者多别名
	'aliases' => array(
		'AliaseName' => 'Namespace\TargetClassName',
		'AnotherAliaseName' => 'AliaseName'
	),
	/* 当get一个不存在的服务时,会自动调用该类
	 * 该类必须实现 Zend\ServiceManager\AbstractFactoryInterface 接口
	 * 可以用于自动注册Controller
	 */
	'abstract_factories' => array(
		'Namespace\AbstractFactoryClassNames'
	),
	/* 当get任何一个服务时,都会调用这里的面服务,会将get到的服务实例传入这里
	 * 该类必须实现 Zend\ServiceManager\InitializerInterface 接口
	 */
	'initializers' => array(
		'Namespace\initializerClassName'
	),
	// servicemanger采用单例模式。设置get返回的服务名是否共享,如果是共享,则每次返回对象都是同一个,反之则每次返回的都是新的对象
	'shared' => array(
		'Name' => $boolean
	)
)
)

?>

转载于:https://my.oschina.net/jhasheng/blog/354052

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值