Biny —— 腾讯开源的超轻量级 PHP 框架

2017 年 11 月 7 日 开源中国 腾讯


扫描二维码或点击图片进入西安源创会报名


Biny 是腾讯开源的一款超轻量级 PHP 框架。


Biny 是腾讯开源的一款超轻量级 PHP 框架。遵循 MVC 模式,用于快速开发现代 Web 应用程序。Biny 代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用。高性能,框架响应时间在 1ms 以内,单机 qps 轻松上 3000 。


示例代码



功能特性


  • 支持跨库连表,条件复合筛选,查询 PK 缓存等

  • 同步异步请求分离,类的自动化加载管理

  • 支持 Form 表单验证,支持事件触发机制

  • 支持浏览器端调试,快速定位程序问题和性能瓶颈

  • 具有 sql 防注入,html 自动防 xss 等特性


目录结构


  • /app/ 总工作目录

  • /app/config/ 业务配置层

  • /app/controller/ 路由入口Action层

  • /app/dao/ 数据库表实例层

  • /app/event/ 事件触发及定义层

  • /app/form/ 表单定义及验证层

  • /app/model/ 自定义模型层

  • /app/service/ 业务逻辑层

  • /app/template/ 页面渲染层

  • /config/ 框架配置层

  • /lib/ 系统Lib层

  • /lib/vendor/ 自定义系统Lib层

  • /logs/ 工作日志目录

  • /plugins/ 插件目录

  • /web/ 总执行入口

  • /web/static/ 静态资源文件

  • /web/index.php 总执行文件



调用关系


Action为总路由入口,Action可调用私有对象Service业务层 和 DAO数据库层


Service业务层 可调用私有对象DAO数据库层


程序全局可调用lib库下系统方法,例如:TXLogger(调试组件)


TXApp::$base为全局单例类,可全局调用

TXApp::$base->request 为当前请求,可获取当前地址,客户端ip等

TXApp::$base->session 为系统session,可直接获取和复制,设置过期时间

TXApp::$base->memcache 为系统memcache,可直接获取和复制,设置过期时间

TXApp::$base->redis 为系统redis,可直接获取和复制,设置过期时间


用户可以在/app/model/下自定义model数据类,通过TXApp::$model获取,例如:


TXApp::$model->person 为当前用户,可在/app/model/person.php中定义


环境配置


PHP版本必须在5.5以上,包含5.5


如果需要用到数据库,则需要安装并启用mysqli扩展


php.ini配置中则需要把short_open_tag打开


/config/autoload.php 为自动加载配置类,必须具有写权限


/logs/ 目录为日志记录文件夹,也必须具有写权限


本例子中主要介绍linux下nginx的配置


nginx根目录需要指向/web/目录下,示例如下



Apache 配置如下:



/web/index.php是程序的主入口,其中有几个关键配置



其中SYS_ENV的环境值也有bool型,方便判断使用




推荐阅读

Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发

开发者最讨厌的编程语言:PHP、Ruby 中枪

消息中间件 kafka+zookeeper 集群部署、测试与应用(1)

带来高收入的 10 大开源技术,可以涨工资了!

娱乐开发两不误,10 大开源游戏框架推荐

点击“阅读原文”查看更多精彩内容

登录查看更多
0

相关内容

【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
225+阅读 · 2020年3月22日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
已删除
将门创投
7+阅读 · 2019年3月28日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
React Native 分包哪家强?看这文就够了!
程序人生
13+阅读 · 2019年1月16日
Android P正式发布,你需要尽快做适配了
前端之巅
3+阅读 · 2018年8月7日
Neural Response Generation with Meta-Words
Arxiv
6+阅读 · 2019年6月14日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
7+阅读 · 2017年12月28日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
225+阅读 · 2020年3月22日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
相关资讯
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
已删除
将门创投
7+阅读 · 2019年3月28日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
React Native 分包哪家强?看这文就够了!
程序人生
13+阅读 · 2019年1月16日
Android P正式发布,你需要尽快做适配了
前端之巅
3+阅读 · 2018年8月7日
Top
微信扫码咨询专知VIP会员