void
注册会员

UID 93558
精华
0
积分 70
帖子 78
金钱 70 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-5-24
状态 离线
|
在php中实现IOC
一般性常见代码
<?
require_once("model/Receiver.php");
require_once("model/Command.php");
require_once("model/Log.php");
//组件装配关系如下
$log = new Log(); //组件对象一
$receiver = new Receiver(); //组件对象二
$receiver->name = '王小二';
$receiver->code = '20080625';
$receiver->log = $log;
$command = new Command(); //组件对象三
$command->receiver = $receiver;
$command->execute();
?>
引入IOC进行组件装配
<?
require_once('Ioc/ClassFactory.php');
$factory = new ClassFactory();
$factory->isCached = true;
$factory->getObject('command')->execute();
?>
组件对象配置如下
<?
$objects[] = array(
'id' => 'command',
'enable' => true,
'source' => 'model/Command.php',
'className' => 'Command',
'ref' => array('receiver'=>'receiver') //依赖的组件对象
);
$objects[] = array(
'id' => 'receiver',
'enable' => true,
'source' => 'model/Receiver.php',
'className' => 'Receiver',
'ref' => array('log'=>'log'), //依赖的组件对象
'property' => array(
'name' => '王小二',
'code' => '20080625'
));
$objects[] = array(
'id' => 'log',
'enable' => true,
'source' => 'model/Log.php',
'className' => 'Log'
);
?>
IOC容器依赖的级联配置
<?
//对象配置信息:级联配置文件
$source[]['source'] = 'Config/IocConfig/SysConfig.php'; //系统基本对象配置
$source[]['source'] = 'Config/IocConfig/ExtConfig.php'; //扩展系统基本对象配置
$source[]['source'] = 'Config/IocConfig/DAOConfig.php'; //业务逻辑对象配置
?>
[ 本帖最后由 void 于 2008-6-29 01:09 PM 编辑 ]
|
|