1 Star 1 Fork 0

大菜鸟111 / ca-fast

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

使用文档

运行环境

  • php >= 7.4
  • swoole >= 4.8

依赖扩展

  • PDO
  • redis
  • swoole

安装

composer create-project wang5202006s/ca-fast

配置运行环境

cd ./ca-fast
mkdir ./runtime
chmod 777 -R ./runtime

启停Swoole HTTP服务

启动 php ./bin/server.php 或 php ./bin/server.php start
停止 php ./bin/server.php stop
重启 php ./bin/server.php reload

框架描述

1、一个极简的框架,轻松简单,无任何负担直接可用。
2、框架没有什么中间件,路由概念。也没有什么AOP,注解、验证器、ORM,简单的高效的框架无需这些东西。
3、框架当前不支持协程,请勿开启协程配置或hook。
4、遵循psr4。

使用

控制器

  • 所有控制器有 控制器(controller)名与方法(action)两部分组成
  • 路径格式 controller/action
  • 所有控制都需实现App\Core\Interfaces\ControllerInterface 的控制器接口
  • before方法为在调用action之前必须调用的,当before方法返回true时才会继续执行action
  • Commands控制器无论before返回什么都会继续执行action
  • 控制器的三个目录
1、Controllers (Swoole HTTP 服务使用的控制器目录)
路径规则举栗说明:
请求地址为:http://127.0.0.1:99/index/test
将会调用 控制器目录下 IndexController.php(IndexController类) 下的 actionTest方法。
这里的index表示需要调用的控制器 test表示需要执行的类方法

2、Commands  (指令运行的控制器目录)
路径规则举栗说明:
php ./bin/cmd.php hello/index
将会调用 控制器目录下 HelloController.php(HelloController类) 下的 index方法。
这与上方不一致的地方就是 调用的方法无需在方法名前添加action标识。

3、FpmControllers (PHP-FPM HTTP 服务使用的控制器目录)
路径规则举栗说明:同Swoole HTTP

MYSQL

配置连接信息

在config/config.php中添加一个数据库
config.php配置栗子:
<php
return [
    'db' => [       //配置一个名称叫db的MYSQL配置 名称请勿与其他配置重名
        'dsn' => 'mysql:host=127.0.0.1;dbname=test;charset=utf8mb4',
        'username' => 'root',
        'password' => '123456'
    ],
    'db2' => [      //配置一个名称叫db2的MYSQL配置 名称请勿与其他配置重名
        'dsn' => 'mysql:host=127.0.0.1;dbname=api;charset=utf8mb4',
        'username' => 'test',
        'password' => '654321'
    ]
];

Db类

描述
  • 获取到的连接是可用的,断线后框架将自动进行重连。
  • 参数传递采用占位符方式。见下方栗子
$sql = "select * from user where nick like ? or username = ?";
$params = ['%张三%','张三'];
$users = Db::queryAll($sql,$params,'db');
方法
  • getDb('db'); 获取一个数据库连接 这里的db为配置中的名称,如果名称不存在会抛出异常。
  • queryOne(string $sql,array $params = [],$key = 'db') 查询并只返回一条数据
  • queryAll(string $sql,array $params = [],$key = 'db') 查询并返回所有数据
  • query(string $sql,array $params = [],$key = 'db') 查询并返回Statement
  • exec(string $sql,array $params = [],$key = 'db') 执行并返回受影响行数
  • getLastId($key = 'db') 获取上一次插入的主键ID
  • begin($key = 'db') 开启事务
  • commit($key = 'db') 提交
  • back($key = 'db') 回滚
  • connect($key = 'db') 通过配置名称 创建一个连接
  • ping(PDO $connect) 检测连接是否可用
  • 其他PDO操作,可调用getDb方返回PDO对象,可随意使用PDO
属性
  • $connectArr 连接数组,保存所有名称的连接。
  • $pingTime 自动ping间隔时间,设置成0表示每次调用getDb方法时都会检测是否可用。

query类

描述
  • 简易的查询构造器
  • 所有输入的值,都会自动转换为占位符(除开Expression中的值)
  • 不支持直接构造join、or等复杂的SQL
  • 复杂的可通过 new Expression(SQL) 处理。见下方栗子
$users = Query::find()->table('user')
->select('id,nick,sex,age')
->where(['sex' => 1])
->andWhere(['>=','age',20])
->andWhere(new Expression("nick like '%张三%' or username = '张三'"))
->all();
使用方法
  • 查询
$user = Query::find->table('user')
->select(['id','nick','sex','age'])
->where(['id' => 1,'status' => 0])
->one();

$users = Query::find->table('user')
->select(['id','nick','sex','age'])
->where(['id' => 1,'status' => 0])
->all();
MIT License Copyright (c) 2022 大菜鸟111 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

描述 展开 收起
PHP
MIT
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/wyhmain/ca-fast.git
git@gitee.com:wyhmain/ca-fast.git
wyhmain
ca-fast
ca-fast
master

搜索帮助