Skip to content

banana-framework-lab/bananaSwoole

Repository files navigation

BananaSwoole

框架介绍

BananaSwoole是Banana以自己的个人开发心得所抽象出的一个框架。此框架是一个免费开源轻量级 PHP开发框架。此框架对于其他框架来说,没有很明显的优势,但可以初步让没有封装过框架的新手与swoole新手提供一定 的帮助与学习的意义。

开发理念

BananaSwoole本身最核心的思想就是"海纳百川",其中含义就是,能让每一个开发者都用起来顺手,框架本身要做到大部分功能在FPM与Swoole 都能够使用。

致敬

BananaSwoole本身没有自己设计得ORM,采用了laravel的查询构造器, 在此致敬laravel;

目录结构

项目的基础目录结构

project 项目的根目录
├─app     服务程序目录
│     └─Index     服务程序名称(此处Index为服务程序的名称)
│              ├─Command     脚本服务目录
│              ├─Process     守护进程服务目录
│              ├─Common     公共文件目录
│              ├─Controller     控制器目录
│              ├─Handler     事件器目录
│              ├─Logic     逻辑层目录
│              ├─Form     提交校验目录
│              ├─Model     模型层目录
│              │        ├─RedisModel     redis缓存模型层目录
│              │        ├─MysqlModel     mysql数据库模型层目录
│              │        └─HttpModel     请求模型层目录
│              │
│              ├─Object     抽象类目录
│              └─Service     服务类目录

├─bin     bananaSwoole命令启动目录
├─channel     通道路由文件目录
├─config     配置文件目录
├─library     bananaSwoole核心代码目录
├─public     web入口目录
├─route     web路由配置目录
├─sql     项目sql更新记录目录
├─vendor     扩展资源文件目录
└─log     日志记录目录

框架的核心目录结构

library根目录
├─Abstracts     抽象类目录
├─Common     框架的公共目录
├─Container     容器目录
├─Exception     特殊Exception目录
├─Server     BananaSwoole服务目录
└─Utils     实体助手类目录

入口文件

入口文件的写法

1.引入自动加载文件
2.新建BananaSwooleServer类
3.给Server类设置具体的业务Server类
4.调用Server的run方法

bananaSwoole启动Demo
use App\Index\Server\IndexServer;
use Library\Server\BananaSwooleServer;

date_default_timezone_set('PRC');

$server = new BananaSwooleServer();
$server->setServer(new IndexServer());
$server->run();

指令操作

指令操作步骤

1.cd到项目的bin目录路径下 2.执行相关指令操作

# 指令格式如下
php bananaSwoole [server] [action] [project] [scrpit]
命令启动有3中action形式
  1. server
# 启动在public中的swoole服务
php bananaSwoole server start swoole

# 停止在public中的swoole服务
php bananaSwoole server stop swoole

# 热重启在public中的swoole服务
php bananaSwoole server reload swoole

2.command

# 停止在指定Index服务中的Command指令任务
php bananaSwoole command start Index Command

2.process

# 启动在指定Index服务中的Process指令任务
php bananaSwoole process start Index Process

# 停止在指定Index服务中的Process指令任务
php bananaSwoole process kill Index Process