日期:2014-05-17 浏览次数:20563 次
│ .project │ index.php │ webconf.php │ ├─WEB-INF │ ├─lib │ │ └─cn │ │ └─iamsese │ │ └─core │ ├─config │ │ dbconf.php │ │ │ └─classes │ └─vb2005xu │ └─sinlet │ ├─service -- 这里是逻辑层的代码 │ │ │ IPersonService.php -- 服务接口 │ │ │ │ │ ├─impl │ │ │ PersonServiceImpl.php -- 服务实现 │ │ │ │ │ └─bo │ │ Person.php -- 业务对象 │ │ PersonManager.php -- │ │ PersonRecord.php -- 这个由DAO层来实现 │ │ │ ├─ui │ ├─exception │ └─dao │ PersonRecordDaoImpl.php │ ├─META-INF │ MANIFEST.MF │ ├─admin ├─.settings │ org.eclipse.php.core.projectOptions.prefs │ └─.cache
<?php
/**
*文件名称: /myworkfolw/webconf.php
*编码类型: UTF-8
*开发时间: 2008 下午11:43:45
*开发者: 许消寒 [iamses.cn]
*版权所有者: 许消寒[iamses.cn]
*
*功能描述:
* 应用的服务环境配置参数,因为模拟的是JAVA Web应用的目录格式,所以要在此文件中
*进行必要的常量声明,从而固定系统的访问路径.
*
*此文件名称不能改变的,最好作为设置成只读
*/
/**
* 这里滚翻一下语法,凡是系统定义的常量 一律以单词第一个字母大写
* 多个单词使用下划线加单词首字母大写的格式来定义变量,
* 不能使用-来作为变量分隔符号,后面要用到它
*
*/
//返回当前文件所在的目录路径,取得的值后面不带/或者\符号
define("Web_Root",dirname(realpath(__FILE__))) ;
//定义系统库所在路径
define("Lib_Path", Web_Root . "/WEB-INF/lib/") ;
//定义用户库所在路径
define("Class_Path", Web_Root . "/WEB-INF/classes/") ;
//定义配置文件所在路径 -- 存放用户定义的配置文件所在地
define("Config_Path", Web_Root . "/WEB-INF/conf/") ;
echo Web_Root ; //测试使用
//定义常用的一些方法,比如文件,模块,配置文件的加载的一些方法
/**
* 加载一个文件,实际上是对require_once的封装
* 并加了做了错误处理功能,这里仅仅是一个简单的功能
* 在系统核心中应该扩充这个函数
*
* @param String $file
*/
function LoadFile($file){
require_once $file;
}
/**
* 加载用户库所在路径下的文件
*
* @param String $file
*/
function LoadUserClassFile($file){
$file = Class_Path . $file ;
LoadFile($file);
}
/**
* 加载系统库所在路径下的文件
*
* @param String $file
*/
function LoadLibFile($file){
$file = Lib_Path . $file ;
LoadFile($file);
}
?>
<?php
/**
*文件名称: /myworkfolw/index.php
*编码类型: UTF-8
*开发时间: 2008 下午11:38:38
*开发者: 许消寒 [iamses.cn]
*版权所有者: 许消寒[iamses.cn]
*
*功能描述:
* 加载常用的配置参数,作为应用的单一入口
*
*/
//加载环境配置文件: webconf.php
require_once 'webconf.php';
LoadUserClassFile("vb2005xu/sinlet/service/IPersonService.php");
//#####################################################################################
//################以下代码纯属测试使用,正式开发时这个应该放到UI层的Action中封装使用###############
/**
* 返回 组员信息管理服务接口的实现对象
* 应该是由组件自动封装的,通过配置文件.在JAVA中这一般是使用IOC来封装的
*
* @return IPersonService
*/
function getPersonService(){
LoadUserClassFile("vb2005xu/sinlet/service/impl/PersonServiceImpl.php");
LoadUserClassFile("/vb2005xu/sinlet/dao/PersonRecordDaoImpl.php");
$personService = new PersonServiceImpl(); //创建接口实现类的实例
$personManager = new PersonManager();
$personService->setManager($personManager);
$personRecord = new PersonRecordDaoImpl();
$personManager->setRecorder($personRecord);
//这里因为传递的都是引用,而且使用的是PHP5代码,所以无需使用&来表示传递引用值
return $personService ;
}
$personService = getPersonService();
echo "<br/>" ;
$personService->addPerson("");
echo "<br/>" ;
$personService->delPerson("");
echo "<br/>" ;
$personSe