EQPHP 开源TPSMVC框架

程序名称:EQPHP

授权协议: Apache

操作系统: 跨平台

开发语言: PHP

EQPHP 介绍

欢迎使用 EQPHP

EQPHP,一款简单易用(Easy)且安全高效(Quick)的PHP开源框架,SP-MVC架构思想;

涵盖:请求响应验证过滤上传下载加密解密日志调试性能测试缓存静态化国际化等技术点;

囊括:文件目录操作数据库使用图形图像处理邮件短信发送DOM表单构建模板引擎解析等解决方案;

结构简洁(单一入口、自动加载、双模多分组)、类库丰富、部署灵活,可任意调整等特性,适合所有Web项目开发。

为什么选择EQPHP?

简单
命名简洁、语法规范(符合psr4),阅览愉快
有手册,用法齐全;参考demo、开发得心应手
兼容php5.3以上所有版本,版本升级、扩展更加容易

自由
免费开源,遵循Apache2开源协议发布
没有严格或额外的约束,一切按你的规范、习惯来
架构思想源于众多项目总结,你的需求决定框架结构,无论怎么玩都行

安全
从接收到运行输出,验证、过滤、SQL注入、XSS、CSRF安全预防
无论是事务、加密签名,还是异常追溯、日志让你的系统有迹可循,永不变朽

优雅
你有更多的时间品茶、喝咖啡、陪家人
当然,你也会有漂亮女朋友、帅气的老公
拥有时间、拥有金钱,甚至拥有整个世界……

加入我们

技术交流QQ群 67693067 278464325 264386791
[博客](http://www.eqphp.com/blog)
[微博](http://weibo.com/eq80)
[getter聊天](https://gitter.im/eqphp/framework)
[加入我们](http://www.eqphp.com/user/register)

花絮

TPS-MVC:调用流程与执行原理

性能:各php版本输出 Hello world 测试报告

* Acer(2核 AMD-1.5GHz、4G内存)+ Ubuntu(14.04)系统
* 从mysql(5.0.5)取一字段(Hello world)使用MVC模式渲染到浏览器页面,性能报告:
PHP版本 5.3.22 5.4.12 5.5.33 5.6.19 7.0.4
时间(s) 0.017 0.014 0.014 0.015 0.011
CPU(%) 1.07 1.11 1.09 1.06 0.71
内存(KB) 1584.625 1516.312 1579.118 1580.215 1209.496
内存峰值(KB) 6748.625 6518.324 6589.115 6689.079 4448.151

数据库:点、线、面、体查询模型

//查询用户ID为8的邮箱:
db::field('member','email',8);

//查询用户ID为8的用户信息
query('user')->select('avatar,nick_name,sign')->where(['user_id'=>8])->out('record');

//查询年龄大于30岁的前20位女性会员的基本信息并按年龄降序排列
query('user_info')-> select('avatar,nick_name,avatar,sign')
-> where(['sex'=>'female','age'=>['gt',30]])-> order('age desc')-> limit(20)-> out('batch');

//分页查询用户的充值记录
query(s_trade::TABLE_PREPAY_PROCESS)->select('id,trade_no,method,status,amount,time')
->where($condition)->order('id desc')->out('page', $record_count, $page, $page_size);

缓存:友好支持session、file、memcache、redis等常用缓存类型

//session存取
session(['register' => ['captcha' => 'u44s8']]);
session('register.captcha');

//file存取
$cache = with('cache','8.json','user_profile',3600);
//$cache->save(['id'=>8,'profile'=>['name'=>'art','avatar'=>'8_1408031532.gif']]);
$cache->get('profile.avatar');

//memcache集群
$memcache=memory::cluster();
$memcache->set('version','3.0',0,0);
$memcache->replace('memcache','EQPHP is a PHP framework!',0,300);
$memcache->delete('memcache');
$memcache->get('version');

 //redis主从:
$master=memory::group(true);
$slave=memory::group(false);
$master->set('version','3.0',0,0);
$master->replace('redis','EQPHP is a PHP framework!',0,300);
//10s内(0,立即)删除memcache
$master->delete('redis',10);
$slave->get('version');

验证、过滤:安全从输入开始、隔离危险

//基本的输入、过滤
input::get('page','int');
input::post('details','text');
input::request('amount','money');
input::cookie('auto_login','number');
input::server('request_method','/^(GET|POST|PUT|DELETE)$/i');

//批量验证,数据模型代替逻辑判断
$input=input::fetch('id,name,date,sex','get');
$option=[
    'id'=>[['in',[1,2,3,4,8]],[1,'id error']],
    'name'=>[['length','2,18'],[2,'name length error']],
    'date'=>[['equal',date('Y-m-d')],[3,'date error']],
    'sex'=>[['callback',[$this,'check',[$data['id']]]],[4,'sex error']],
];
validate::verify($input,$option);

//批量接收过滤、键值映射
//$_POST=['a' => 'Art', 'p' => '125**%24', 'id' => '8']
$filter = ['a' => 'account', 'p' => 'post', 'id' => 'int'];
$map = ['a' => 'author', 'p' => 'password', 't' => 'type'];
$data = input::filter($filter, 'get', $map);
//['author' => 'art', 'password' => '125**%24', 'id' => 8]

模板:扩展方式无缝接入smarty模板引擎

{head script="jquery|common|center" style="basic|plugin/popup|center"}
{center_header_banner user_id=$user_id}





{block name="main"}{/block}

{include file="user/block/guide_tags.html"}




{include file="user/block/center_footer.html"}
{include file="plugin/popup.html"}

EQPHP 官网

#

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


MuPlayer 是一款跨平台、轻量级的音频播放解决方案,是百度@音乐前端团队开发维护的浏览端音频播放内核,它基于HTML5
OS FLV 是一个 开源和可嵌入网页的flv播放器。 这个播放器拥有大量的选项可以通过嵌入代码进行设置.
DewPlayer音乐播放器,样式很简单,而且很实用.播放器可以根据自己的喜好改变颜色,也算比较个性化吧.但唯一的不足就是只支持MP3格式的音乐。
JW FLV MEDIA PLAYER是一个开源的在网页上使用的Flash视频、音频以及图片播放器,支持 Sliverlight
Speakker 是一个基于 Web 浏览器的音乐播放器,只提供很多高级播放功能包括播放列表管理和分享。
Player Framework 是一个开源的支持 HTML5 的视频播放器框架,同时也支持 Silverlight 和 Windows Phone
Sewise Player是一款专业的免费网页视频、流播放器,它功能强大,体积小,跨平台,使用方便简洁、随心所欲:
SoundManager 2 利用 HTML5 和 Flash 技术提供了稳定和阔平台的音乐播放功能,只有 10K 的 JS 包。
xPlayer v1.0 特性: 文件大小 9.78kb; 可以自定义皮肤; 3.支持 http 和 rtmp 视频; 4.音量调节,全屏播放,拖拽播放;
XPlayer 豆瓣音乐播放器 特点: 1.自动侦测Douban网页的歌曲 2.Douban网页关闭,歌曲能够继续播放
歌词 插件 最新更新,扩展性能稍微有点提升了, 不多说了,更多敬请查看首页http://luochunzong.sinaapp.com/?p=84
ABPlayerHTML5是一个在HTML5下的弹幕播放器(同步显示视频于评论)实现。类似功能的播放器可以参考基于Flash的MukioPlayer和PADPlayer。
AudioPlayer.js 是一个 jQuery 的插件,实现了 HTML5 的音乐播放器,无需任何图片,实现了响应式布局,支持触摸操作。
替换中国大陆主流视频网站的 Flash 播放器为 HTML5 播放器 使用 Mac 的同学都可能碰到过在线看视频引起机子风扇狂转、机身发烫等情况,这是因为 Flash 占用了过多系统资源的缘故。
AetherPlayer 是一个类CD的轻量HTML5播放器,特别适合博客及个人站点使用。它漂亮得不像……咳,这边吹牛的话就不说了。
专注、极致、智慧,国内外为数不多不依赖开源框架、跨平台(windows/android/iOS)、公网推送(支持rtmp)-播放(支持rtmp/rtsp)业界真正靠谱 的超低延迟。
node-kugou-client 是 Node.js 酷狗客户端。 安装 npm install node-kugou-client 使用 var kugou = require(\"node-kugou-client\");
Youku HTML5 播放器扩展 —— 告别 flash 和广告 关于官方内测 html5 播放器 Firefox ( xpi 直接安装) ( firefox 50.0+)
Chimee 由奇舞团研制的 h5 播放器,它支持 mp4、m3u8、flv 等多种格式。通过插件式开发,能满足业务方快速迭代、灰度发布等要求。让开发者能够轻松快捷地完成视频场景的开发。
OneVideo是一款基于OneBase+UniApp开发的小视频播放移动应用。