PHPackages                             watish/watishweb - 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. watish/watishweb

ActiveProject[Framework](/categories/framework)

watish/watishweb
================

My First Framework For Web

v1.1.7(3y ago)39PHP

Since Dec 28Pushed 2y ago1 watchersCompare

[ Source](https://github.com/Watish/WatishWEB)[ Packagist](https://packagist.org/packages/watish/watishweb)[ RSS](/packages/watish-watishweb/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (16)Versions (9)Used By (0)

Watish WEB
==========

[](#watish-web)

### 一个swoole驱动的多进程全协程的轻量Web框架

[](#一个swoole驱动的多进程全协程的轻量web框架)

#### 技术栈

[](#技术栈)

Swoole，PHP

#### 框架特点

[](#框架特点)

- 支持websocket
- 通过UnixSocket异步实现多进程间的全局变量一致
- 支持独立进程Process
- 可动态添加，修改，删除的Crontab定时任务
- 基于协程且生产可用的优雅异步回调Promise
- 支持Task异步投递闭包任务
- 支持路由注解，中间件注解，全局中间件注解，CLI命令注解
- 支持AOP面向切片开发
- 基于Swoole\\Table的分块存储KV内存表

#### 环境要求

[](#环境要求)

- PHP 8+
- Swoole v5.0+

### 快速开始

[](#快速开始)

#### 使用Git

[](#使用git)

```
git clone https://github.com/Watish/WatishWEB
```

#### 使用Composer

[](#使用composer)

```
composer create-project watish/watishweb:dev-master
```

### 启动项目

[](#启动项目)

**项目的入口文件为 项目/bin/CoServer.php**

#### 使用[swoole-cli](https://github.com/swoole/swoole-cli) （推荐）

[](#使用swoole-cli-推荐)

```
swoole-cli ./bin/CoServer.php
```

#### 使用php（需安装swoole拓展）

[](#使用php需安装swoole拓展)

```
php ./bin/CoServer.php

```

### 目录结构

[](#目录结构)

- bin/ 入口文件
- config/ 配置文件目录
- src/ 业务逻辑目录
- opt/ 项目工具类目录
- storage/ 存储目录
    - Framework/ 用于存放项目生成文件，如代理类缓存
    - View/ 用于存放视图文件（挖坑）
- vendor/ 组件目录
- tools/
    - php-cs-fixer/
- vendor-bin/
    - box/

### 编写一个Hello World

[](#编写一个hello-world)

在 **src/Controller**目录下新建一个类，这里我们定义为**HelloController**

```
