31/08
2017
Wallogit.com
2017 © Pedro Peláez
本项目是一个运行在 php7 + swoole 环境中的 纯异步 php 框架 , 已经实现 DI/MVC 分层/自定义路由/热启动等功能 即将实现的功能在底部features
, (*1)
├── app 主目录 │ ├── Controller 控制器目录 可以自定义 │ │ └── Home.php 控制器 │ ├── helper.php 自定义函数 │ └── Model 模型 ├── composer.json ├── composer.lock ├── config 配置目录 │ ├── app.php 应用 配置文件 │ ├── router.php 路由配置文件 │ └── server.php server配置文件 ├── index.php 服务端入口 ├── reload.php 开发工具 └── vendor composer 仓库
composer require rookiejin/swoole
<?php
require_once __DIR__ . '/vendor/autoload.php';
$app = new \Rookiejin\Swoole\Application(__DIR__ . '/app') ;
$app->bootstrap();
$app->run();
<?php
return [
'home/index' => [
'get,post', // 请求方法
'Home@index', // 控制器@执行方法 以\\ 开头为自定义命名空间
],
'home/get' => [
['get','put','post'], // 可以是逗号分隔的字符串也可以是数组
'Home@get',
]
]
];
<?php
/**
* 不需要继承任何控制器 , 以返回字符串的方式进行页面返回 。
*/
class Home
{
public function index()
{
return "index";
}
}
php index.php & 访问: http:localhost:8888/home/index 输出 : index 访问: http:localhost:8888/home/ 输出: 404notfound
ObjectPool 对象池 单独开辟出一个进程 管理对象池 业务程序将对象托管到对象池,极大的提升了 在请求初期所需要 创建一次所需要的对象的性能 。, (*2)
MysqlPool mysql连接池 服务器初始化的时候创建自定义个数的mysql长连接,提供业务程序获取, (*3)
MysqlOrm CURD 必备 包括表关联 等api封装。, (*4)
RouteCache 路由缓存,客户端路由请求尝试从缓存中获取,提高解析路由花费的时间[目前路由本身就是保存在内存中, 该功能待考虑], (*5)
Template 自定义视图, (*6)
上传/验证码/csrf/session/cookie/加密/auth ... 等各种类库拓展, (*7)
Hook 系统钩子 ,也叫中间件, (*8)
Filter 系统验证/过滤, (*9)
ResetFulApi 纯服务端RESETFUL API 促进前后端分离, (*10)
... 暂时没想到, (*11)