php完全开发手册看云,序言 · RapPHP完全开发手册 · 看云

## RapPHP 为速度而生的PHP 框架

#### RapPHP 是什么

* * * * *

一句话描述

RapPHP是支持 SWOOLE和传统(lamp,lnmp)双部署方案的Web框架;

github [https://github.com/tengzhinei/rapphp](https://github.com/tengzhinei/rapphp)

SWOOLE [https://swoole.com/](https://swoole.com/)

#### 主要特性:

* * * * *

1. 支持 SWOOLE和传统(lamp,lnmp)双部署方案;

2. 核心: IOC,AOP,MVC,SWOOLE;

3. 特色: RPC调用,连接池,redis 分布式锁;

4. 其他: 数据库(模型)操作,缓存,日志,验证器,文件存储,HTTP工具等

> 有了 IOC,AOP,SWOOLE神器,可以拉近和编译性语言(JAVA等)的性能;

### 名词解释

* * * * *

下面是关于 Spring(JAVA 框架) 中的 IOC和AOP 的解释

IOC https://www.zhihu.com/question/23277575/answer/169698662

AOP https://www.zhihu.com/question/24863332/answer/48376158

#### 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

~~~

推荐大家开始使用 docker 方式部署;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值