PHPackages                             woann/light-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. woann/light-php

ActiveProject[Framework](/categories/framework)

woann/light-php
===============

High performance framework based on swoole

v1.0.8(7y ago)15266[2 issues](https://github.com/woann/Light-php/issues)MITPHP

Since Dec 11Pushed 7y ago1 watchersCompare

[ Source](https://github.com/woann/Light-php)[ Packagist](https://packagist.org/packages/woann/light-php)[ RSS](/packages/woann-light-php/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (4)Versions (10)Used By (0)

> 🚀`Light-php`是一个基于swoole的高性能php框架，轻量的封装和易用性，使它在中小型高性能项目中有着出色的表现。

[![Latest Stable Version](https://camo.githubusercontent.com/44673d326d73a592e04f5a04631a9cbef3017ca33ce56b81d1a0532a986a6767/68747470733a2f2f706f7365722e707567782e6f72672f776f616e6e2f4c696768742d7068702f762f737461626c652e737667)](https://packagist.org/packages/woann/light-php)[![Total Downloads](https://camo.githubusercontent.com/aaaa86f04d2645b114fe6f873410471f829cd89b7b1220175f5b5a64b1865a0c/68747470733a2f2f706f7365722e707567782e6f72672f776f616e6e2f4c696768742d7068702f646f776e6c6f6164732e737667)](https://packagist.org/packages/woann/light-php)[![License](https://camo.githubusercontent.com/40ac0584d86ccb84f4510f1702ee8a27a695f3a4d94508462cfaacbef8a22c69/68747470733a2f2f706f7365722e707567782e6f72672f776f616e6e2f4c696768742d7068702f6c6963656e73652e737667)](https://github.com/woann/Light-php/blob/master/LICENSE)[![Php Version](https://camo.githubusercontent.com/b89e839d5d52995202e3f77713d3272afdfffacf314e3562e9a20a1d070b6ff7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d2533453d372e322d627269676874677265656e2e7376673f6d61784167653d32353932303030)](https://secure.php.net/)[![Swoole Version](https://camo.githubusercontent.com/50e0cf178b02dc7f427855645385139e2d82a8b855e6a64443c3ca0e4ff94e8d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73776f6f6c652d2533453d342e322e392d627269676874677265656e2e7376673f6d61784167653d32353932303030)](https://www.swoole.com/)

文档目录
====

[](#文档目录)

- [环境要求](#%E7%8E%AF%E5%A2%83%E8%A6%81%E6%B1%82)
- [安装教程](#%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
- [配置文件](#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6)
- [路由](#%E8%B7%AF%E7%94%B1)
- [中间件](#%E4%B8%AD%E9%97%B4%E4%BB%B6)
- [控制器](#%E6%8E%A7%E5%88%B6%E5%99%A8)
- [钩子](#%E9%92%A9%E5%AD%90)
- [Task任务](#Task%E4%BB%BB%E5%8A%A1)
- [WebSocket](#WebSocket)
- [数据库](#%E6%95%B0%E6%8D%AE%E5%BA%93)
- [压力测试](#%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95)

环境要求
----

[](#环境要求)

依赖说明[PHP](https://secure.php.net/manual/zh/install.php)`>= 7.2` `推荐7.2`[Swoole](https://www.swoole.com/)`>= 4.2.9` `从2.0.12开始不再支持PHP5` `推荐4.2.9+`[Linux](https://www.linux.org/)`大部分的linux系统都可以` `推荐centos`安装教程
----

[](#安装教程)

1-1.通过[Composer](https://getcomposer.org/)安装([packagist](https://packagist.org/packages/woann/light-php)),此方式安装版本可能不是最新的，出现此问题请用1-2方式安装。

```
composer create-project woann/light-php -vvv
```

1-2.通过[Git](https://git-scm.com/)安装。

```
git clone https://github.com/woann/Light-php.git
```

2.重命名`.env.example`文件为`.env`,并配置

3.项目根目录下执行 `php bin\light start` 启动服务

[![image.png](https://camo.githubusercontent.com/c7cf7b6db9cf35f6365b060244e5a8c341e0c27d4d4ddc114fea4509c833b49e/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f393136303832332d643561303735653733666435666165622e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430)](https://camo.githubusercontent.com/c7cf7b6db9cf35f6365b060244e5a8c341e0c27d4d4ddc114fea4509c833b49e/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f393136303832332d643561303735653733666435666165622e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430)

4.浏览器访问`http://127.0.0.1:9521` 即可看到欢迎页面。至此，框架就安装完成了。

配置文件
----

[](#配置文件)

1.Light-php的配置文件在`/config`目录下，框架集成了全局环境配置文件`/.env`,常规配置都在.env文件中进行配置。

2.`/config/app.php`,框架主要配置文件主要用来配置`swoole`扩展相关参数。

3.`/config/databases.php`,数据库配置文件，配置了数据库连接相关参数。

4.`/config/hook.php`,配置钩子(钩子主要用来将业务逻辑和通知服务分离)。

5.`/config/redis.php`,`redis`配置文件，配置了`redis`连接相关参数。

6.`/config/route.php`,路由配置文件。

7.以上配置文件具体参数意义在代码中都有注释，这里不做更多介绍

路由
--

[](#路由)

以下是一个路由示例`/config/route.php`，包含http路由和websocket路由(注意：路由中，控制器参数为控制器的简写，实际控制器文件应在后追加`Controller`)

```
return [
    'm'             => 'index',    //默认模块
    'c'             => 'index',    //默认控制器
    'a'             => 'init',     //默认操作
    'ext'           => '.html',    //伪静态后缀    例如 .html
    'http'          =>  [          //http路由
        //uri-----请求方法----模块/控制器/方法----[中间件]
        '/'     => ['GET','Index/Index/index','Test'],
        'test/'    => ['GET','Index/Index/ws']
    ],
    'websocket'     =>  [           //websocket路由
        //uri----模块/控制器/方法
        'ws' => 'Index/WebSocket/index',
    ]
];
```

中间件
---

[](#中间件)

中间件文件应建立在`/app/Middleware`目录下，类名与文件名要一致，并实现`Lib\Middleware`接口，中间件处理方法名必须为`handle`,过滤后如果通过最终返回结果必须为`true`。示例：

```
