内容简介:RapPHP 开发框架现在正式向全网进行开源,经过我们内部一定时间的开发升级,当前版本已迭代到 v2.0.6,当前框架包含完整的开发 php 项目需要的各个组件和特性,并已经过多个项目的验证。 RapPHP 是什么 RapPHP 框...
RapPHP 开发框架现在正式向全网进行开源,经过我们内部一定时间的开发升级,当前版本已迭代到 v2.0.6,当前框架包含完整的开发 php 项目需要的各个组件和特性,并已经过多个项目的验证。
RapPHP 是什么
RapPHP 框架提供了全面的 IOC,AOP的底层支持,架构设计简洁而有扩展性,开发灵活而有设计感,RapPHP提供了完整的 Web开发需要的核心组件;同时 RapPHP支持 SWOOLE和传统(lamp,lnmp)双部署方案,可以通过 SWOOLE 提供常驻内存的高性能 php 运行环境;
主要特性:
高性能:支持传统lamp(lnmp)部署方案,同时支持rapphp+Swoole引擎部署方案;
IOC:真正的依赖注入,控制反转,开始更高级的设计思想,让你的代码更优雅,可控;
AOP:面向切面编程,代码低耦合;
MVC 架构:简单好用的 MVC 架构,配置简单,程序可读性更高;
ORM:独特 SQL 构造方法,Record 数据库模型,二级缓存机制,数据库操作更加简单,高效;
SWOOLE:不修改代码的情况下一键启用 SWOOLE,PHP运行性能全面提升;
上手快:框架居然使用了一些比较高级的设计思想,但是再框架内使用都特别简单
支持异步任务,定时任务,websocket等高级功能
包含缓存, 文件存储,日志等多钟常用功能;
有了 IOC,AOP,SWOOLE神器,可以拉近和编译性语言(JAVA等)的性能;
名词解释
下面是关于 Spring(JAVA 框架) 中的 IOC和AOP 的解释
IOC
对象依赖注入,系统内对象绝对单例
class ToolController{ /** * @var Connection */ private $connection; /** * @var TenantService */ private $tenantService; public function _initialize(Connection $connection,TenantService $tenantService){ $this->connection=$connection; $this->tenantService=$tenantService; } }
AOP
前置切面,后置切面,环绕切面, AOP 支持完整可控
在UserLogic调用saveUser,delUser方法前调用UserLogicTestAop的testBefore方法 AopBuild::before(UserLogic::class) ->methods(["saveUser","delUser"]) ->wave(UserLogicTestAop::class) ->using("testBefore") ->addPoint(); //在UserLogic调用方法以save或del开头的方法前调用UserLogicTestAop的testAfter方法 AopBuild::after(UserLogic::class) ->methodsStart(["save","del"]) ->wave(UserLogicTestAop::class) ->using("testAfter") ->addPoint();
MVC
MVC 路径自动查找,参数自动绑定,返回(页面, json)自动解析
class IndexController { public function index($name, Response $response) { $response->assign('name',$name) return 'index'; } public function json($name) { return ['success'=>true,'data'=>$name]; } }
ORM
数据模型,增删改查,二级缓存机制,数据库操作轻松搞定
$select = Good::select("g.*") -> order("rank desc"); $select -> join("good_tag gt",'gt.good_id=g.id') -> where("tag_id",$tag); $data = $select -> cache() -> page($page,$step); DB::runInTrans(function() { $user = User::getLock(1); $user -> name = 'tengzhinei'; $user -> save(); });
SWOOLE
一键启动 swoole 服务器,异步任务,定时任务,websocket 轻松搞定
'swoole_http'=>[ 'ip'=>'0.0.0.0', //正常不需要修改 'port'=>9501, //默认使用9501端口 'document_root'=>ROOT_PATH, 'enable_static_handler'=>false, //是否可以访问文件 正常不可以 'worker_num'=>20, //默认开启多少worker进程 'task_worker_num'=>4, //默认开启几个 task 进程 'task_max_request'=>0 //访问多少次释放worker进程 ], //启动服务 php index.php http //异步任务 Task::deliver(MyTaskService::class,'task',['key'=>100,'name'=>'test']); //定时任务 Timer::after('/test/a',['a'=>'1'],10,['tent-header'=>'test']);
安利
SWOOLE https://swoole.com/
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- QuickTask动态脚本支持框架整体介绍篇
- SwooleDistributed 框架 2.5 发布,全面支持 Docker
- PHP Codeigniter 框架支持 SQL Server
- YuebonCore 快速开发框架支持 .Net 5.0
- 【剖析 | SOFARPC 框架】系列之 SOFARPC 注解支持剖析
- Golang/Gin框架添加对HTTPS的支持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
博客秘诀:超人气博客是怎样炼成的
Darren Rowse、Chris Garrett / 向怡宁 / 人民邮电出版社 / 201005 / 39.00元
作为Web 2.0的新生事物的博客,如今已蓬勃发展,呈燎原之势,业已成为许多人的一种生活方式。中国从事博客写作的人数已达千万级,各类博客网站不可胜数。 然而,为什么有的博客人气鼎盛,拥趸众多,有的博客却门前冷落,少人问津呢?究竟应该怎样写好自己的博客,才能让它吸引更多访客的关注呢?博客网站还能为我做什么呢? 本书的两位作者长期主持知名博客站点ProBlogger.net,指导了成千上万......一起来看看 《博客秘诀:超人气博客是怎样炼成的》 这本书的介绍吧!