Download the PHP package orz/dbh without Composer
On this page you can find all versions of the php package orz/dbh. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package dbh
DataBaseHandle 跨框架的数据库句柄
简述
当你不得不在多个PHP框架下为同一个项目编程时,你会发现80%的时间精力都在不同的PHP框架下写数据处理逻辑,在同一个需求开发涉汲多框架多端开发时,如:用laravel作API对接ios、android;用thinkphp作PC版前端和后台开发或作API对接miniprogram;你会发现你的CRUD编码时间会成倍增长且编码后的调试时间也会成倍增长。 提升代码复用率就是最好的解决之道,来吧,把数据处理从框架分离出来,用扩展库的方法引入项目。
Dbh类为常用PHP框架Thinkphp(5.0,5.1,6),Laravel(6TLS),Codeigniter(4),已封装好ServiceProvider,即可在框架中集成也可脱离框架使用。
用dbh来处理数据
-
dbh实例集成了简洁高效的数据类Medoo
- dbh实例增删改查操作示例
用dbh来记录日志
-
dbh实例集成了简洁高效且兼容PR-3的日志类Plog,默认日志表为_plog
-
dbh实例增删除改查操作示例
-
plog实例输出日志如下
id time path line severity message context 1 2022-04-16 16:29:30 test2.localhost.localdomain/xz/plog/demo.php 25 INFO HelloWorld 2 2022-04-16 16:29:30 test2.localhost.localdomain/xz/plog/demo.php 26 INFO HelloWorld {"data":[123]} 3 2022-04-16 16:29:30 test2.localhost.localdomain/xz/plog/demo.php 26 DEBUG ImHere {"data":["123","456","I\u0027m"]}
框架引入Dbh功能
常用PHP框架Thinkphp(5.0,5.1,6),Laravel(6TLS),Codeigniter(4),Dbh已封装好ServiceProvider,Facade, Middleware, Event框架中引入即可。
引入Dbh服务提供者
-
CodeIgniter 4, Config\Autoload.php
-
Laravel 6,config/app.php
-
Thinkphp 6,app/service.php
-
Thinkphp 5.1,application/provider.php
- Thinkphp 5.0,可以通过Request类的单例模式进行注入,用助手函数request()取出实例
引入Dbh的Facade
Thinkphp 5.1, Thinkphp 6, Laravel 6,这些框架的静态代理均用的是服务容器的单例模式,和使用服务容器一样的性能
-
Laravel 6,config/app.php
- Thinkphp 6 and 5.1,app/service.php
引入Dbh中间件
为了方便调试程序,Dbh已封装好了如下几个功能的中间件,Thinkphp5.1,Thinkphp6,Laravel6,均已测试且在项目中真实应用过。
中间件,PlogBefore,通过数据表记录HTTP请时时的PHP超全局变量 $_SERVER, $_REQUEST, $_SESSION, $_ENV, $_FILES, 以及全部请求头信息。
中间件,PlogAfter, 通过数据表记录HTTP响应时的PHP超全局变量 $_SESSION, 响应正文,以及全部响应头信息。
注:慢页面监控功能,记录超过3秒加载时间的页面,也是在PlogAfter中实现记录的。
引入Dbh事件监听
为了方便调试程序,Dbh已封装好了如下几个功能的事件,Thinkphp5.0,Thinkphp5.1,Thinkphp6,Laravel6,CodeIgniter4均已测试且在项目中真实应用过。
事件名,SessionChange,通过数据表记录当前的会话变量数据。
事件名,CookieChange, 通过数据表记录当前的Cookie数据。
事件名,EnvChange, 通过数据表记录当前的环境变量数据。
事件名,GlobalsChange,通过数据表记录当前的全局变量数据。
事件名,ConfigChange, 通过数据表记录当前的配置文件数据。
更多技术细节可参考
用Composer为Framework引入Loaclhost第三方代码库
用composer安装最新版本
不用composer直接下载
Download ZIP See demo/Dbt2.php.
致谢
感谢 Thinkphp, Laravel, CodeIgniterMedoo, SimplePhpLogger, GUMP, 这些优秀类库的作者,是你们类库方便了日常编程开发。