PHP代码生成器,PHP三层模式项目演示源码
发布日期:2022-02-01 14:28:13
浏览次数:32
分类:技术文章
本文共 5105 字,大约阅读时间需要 17 分钟。
PHP代码生成器 ,PHP三层模式项目演示源码
发布新的PHP代码生成模板:PHP三层标准版,PHP5.0以上,
运用分层设计思想,分层情况:Model+BLL+IDAL+DAL+WebUI。
__autoload 加载所需的类。IDAL层是业务接口,DAL层实现接口。使用mysqli扩展库, SQL参数命令操作数据。添加记录成功后返回自动增长编号给实体模型。
WebUI 实现数据列表显示、新增、修改及删除。
支持数据库:MYSQL (注意:表结构设计第一个主键必须是自动编号列)
模板安装方法:下载TemplatePHP.dll,复制到猛犸代码生成器的Template目录下,这样创建项目向导就会显示新的PHP项目模板
演示项目下载地址
生成DAL层源码如下图
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"; } }?>
编辑表单页面截图:
欢迎测试。
转载地址:https://blog.csdn.net/shunlu/article/details/8081367 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月10日 06时37分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
通过域名获取主机IP -- struct addrinfo
2019-04-27
【C++】算法集锦(8):从两数和问题拓展到一百数和问题
2019-04-27
【C++】算法集锦(9):背包问题
2019-04-27
【C++】算法集锦(10)通俗讲kmp算法
2019-04-27
【C++】算法集锦(12):高楼扔鸡蛋
2019-04-27
【图解】拥塞控制
2019-04-27
线程上下文切换
2019-04-27
什么是服务熔断?
2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能
2019-04-27
C++面经总结之《Effective C++》(一)
2019-04-27
C++面经总结之《Effective C++》(二)
2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!!
2019-04-27
打开我的收藏夹 -- Python数据分析杂谈
2019-04-27
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构
2019-04-27
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据
2019-04-27
上手Pandas,带你玩转数据(3)-- pandas数据存入文件
2019-04-27
爬虫遇上不让右击、不让F12的网站,该怎么办?
2019-04-27
上手Pandas,带你玩转数据(4)-- 数据清洗
2019-04-27
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位
2019-04-27
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧
2019-04-27