PHP代码生成器 ,PHP三层模式项目演示源码
发布新的PHP代码生成模板:PHP三层标准版,PHP5.0以上,
运用分层设计思想,分层情况:Model+BLL+IDAL+DAL+WebUI。
__autoload 加载所需的类。IDAL层是业务接口,DAL层实现接口。使用mysqli扩展库, SQL参数命令操作数据。添加记录成功后返回自动增长编号给实体模型。
WebUI 实现数据列表显示、新增、修改及删除。
支持数据库:MYSQL (注意:表结构设计第一个主键必须是自动编号列)
模板安装方法:下载TemplatePHP.dll,复制到猛犸代码生成器的Template目录下,这样创建项目向导就会显示新的PHP项目模板
生成DAL层源码如下图
//-------------------------------------------------
//文件名称:userDAL.class.php
//文件描述:数据操作层会员表
//创 建 人:
//创建日期:
//-------------------------------------------------
class userDAL implements userIDAL //实现接口
{
private $SQL_Insert;
private $SQL_Update_ByID;
private $SQL_Delete_ByID;
private $SQL_GetModel_ByID;
private $SQL_GetList;
private $conn;
public function __construct(){
//不能有[]格式化字段和表名
$this->SQL_Insert = "INSERT INTO ycsk_user(UserName,UserPWD,Wage,RegDate,LastLoginIP,LastLoginTime,Logins,IsEnable) values(?,?,?,?,?,?,?,?)";
$this->SQL_Update_ByID = "UPDATE ycsk_user SET UserName=?,UserPWD=?,Wage=?,RegDate=?,LastLoginIP=?,LastLoginTime=?,Logins=?,IsEnable=? WHERE ID = ?";
$this->SQL_Delete_ByID = "DELETE FROM ycsk_user WHERE ID = ?";
$this->SQL_GetModel_ByID = "SELECT * FROM ycsk_user WHERE ID = ?";
$this->SQL_GetList = "SELECT * FROM ycsk_user ORDER BY ID DESC";
//数据库连接类,注意使用的是mysqli扩展库,而不是mysql库,
//检查php-apache2handler.ini文件;extension=php_mysqli.dll是不是已经启用
//从webconfig.php 获取连接参,数实例化mysqli
$this->conn = new mysqli(GLOBAL_DB_SERVER,GLOBAL_DB_USER,GLOBAL_DB_PASSWORD,GLOBAL_DB_DATABASE);
if (mysqli_connect_errno()) {
printf("连接mysql失败: %s\n", mysqli_connect_error());
exit();
}
}
//析构函数
public function __destruct()
{
$this->conn->close();//销毁连接实例
}
//插入一条记录
public function InsertInto( userModel $model){
$result = $this->conn->prepare( $this->SQL_Insert ); //对SQL进行预处理
//设置绑定的变量 第一个参数为变量的数据类型
$result->bind_param("ssdsssib",$model->UserName,$model->UserPWD,$model->Wage,$model->RegDate,$model->LastLoginIP,$model->LastLoginTime,$model->Logins,$model->IsEnable);
$result->execute();
//echo $this->conn->affected_rows; //影响的行数
$model->ID=$this->conn->insert_id;//获取自动编号
$result->close(); ///释放对象内存
}
//修改一条记录
public function UpDateSet(userModel $model){
$result = $this->conn->prepare( $this->SQL_Update_ByID ); //对SQL进行预处理
//设置绑定的变量 第一个参数为变量的数据类型
$result->bind_param("ssdsssibi",$model->UserName,$model->UserPWD,$model->Wage,$model->RegDate,$model->LastLoginIP,$model->LastLoginTime,$model->Logins,$model->IsEnable,$model->ID);
$result->execute();
echo $this->conn->affected_rows; //影响的行数
$result->close(); //释放对象内存
}
//根据主键删除一条记录
public function DeleteFrom($ID){
$result = $this->conn->prepare( $this->SQL_Delete_ByID ); //对SQL进行预处理
//设置绑定的变量 第一个参数为变量的数据类型
$result->bind_param("i",$ID);
$result->execute();
//echo $this->conn->affected_rows; //影响的行数
$result->close();
}
//根据主获取一条记录
public function GetModel($ID){
$result=$this->conn->prepare($this->SQL_GetModel_ByID); //进行预准备语句查询
$result->bind_param("i",$ID);
$result->execute(); //执行
$result->bind_result($ID,$UserName,$UserPWD,$Wage,$RegDate,$LastLoginIP,$LastLoginTime,$Logins,$IsEnable); //绑定结果
$model = new userModel();
while ($result->fetch()) {
$model->ID = $ID;
$model->UserName = $UserName;
$model->UserPWD = $UserPWD;
$model->Wage = $Wage;
$model->RegDate = $RegDate;
$model->LastLoginIP = $LastLoginIP;
$model->LastLoginTime = $LastLoginTime;
$model->Logins = $Logins;
$model->IsEnable = $IsEnable;
}
$result->close(); //关闭预准备语句
return $model;
}
//获取列表
public function GetList(){
$result=$this->conn->prepare($this->SQL_GetList); //进行预准备语句查询
$result->execute(); //执行
$result->bind_result($ID,$UserName,$UserPWD,$Wage,$RegDate,$LastLoginIP,$LastLoginTime,$Logins,$IsEnable); //绑定结果
$list = array();
$i=0; //计数器
while ($result->fetch()) {
$model = new userModel();
$model->ID = $ID;
$model->UserName = $UserName;
$model->UserPWD = $UserPWD;
$model->Wage = $Wage;
$model->RegDate = $RegDate;
$model->LastLoginIP = $LastLoginIP;
$model->LastLoginTime = $LastLoginTime;
$model->Logins = $Logins;
$model->IsEnable = $IsEnable;
//-加入数组
$list[$i] = $model;
$i += 1;
}
$result->close();
return $list;
}
//获取翻页列表
public function GetPage(){
$result=$this->conn->prepare($this->SQL_GetList); //进行预准备语句查询
$result->execute(); //执行
$result->bind_result($ID,$UserName,$UserPWD,$Wage,$RegDate,$LastLoginIP,$LastLoginTime,$Logins,$IsEnable); //绑定结果
$list = array();
$i=0; //计数器
while ($result->fetch()) {
$model = new userModel();
$model->ID = $ID;
$model->UserName = $UserName;
$model->UserPWD = $UserPWD;
$model->Wage = $Wage;
$model->RegDate = $RegDate;
$model->LastLoginIP = $LastLoginIP;
$model->LastLoginTime = $LastLoginTime;
$model->Logins = $Logins;
$model->IsEnable = $IsEnable;
//-加入数组
$list[$i] = $model;
$i += 1;
}
$result->close();
return $list;
}
public function __toString(){
return "userDAL";
}
}
?>
编辑表单页面截图:
欢迎测试。