KanaPHP框架介绍

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: KanaPHP是一个轻量级快速开发框架。框架提供了一致的API接口,使得使用接口尽可能流畅;由于框架本身不依赖其他库,这使得框架本身运行速度非常快;框架希望使用最简单的方式make thing done,减少开发者的开发成本。

关于

KanaPHP是一个轻量级快速开发框架。框架提供了一致的API接口,使得使用接口尽可能流畅;由于框架本身不依赖其他库,这使得框架本身运行速度非常快;框架希望使用最简单的方式make thing done,减少开发者的开发成本。

安装

0.环境要求

  • PHP >= 5.4.0
  • PDO扩展
  • OpenSSL扩展
  • MbString扩展

1.安装

下载release包安装

打开下面其中一个release包下载页面,选择最新release包下载:

https://github.com/kanaphp/kanaphp-release/releases
https://coding.net/u/eccozhou/p/kanaphp/git/tags

解压zip包,进入项目根目录(下文未特殊注明,目录起始位置均为此根目录)

cd kanaphp-xxx #进入项目根目录

2.配置

建立app.ini配置文件

按如下操作复制app.ini.example来新建app.ini,然后编辑app.ini以适配当前环境;

cd config
cp app.ini.example app.ini

修改runtime文件夹权限

chmod -R 777 runtime/

3.运行

使用PHP内置Server启动App

cd public
php -S localhost:9090

4.验证

在浏览器打开http://localhost:9090验证页面是否出现用户注册表单页面,点击表单提交是否出现错误信息显示;如均能显示则表示安装成功。

目录结构

app                             # App命名空间目录
    Console                     # 包含命令行Action
        Blog/DailyUpdate.php    # ./kana blog:dailyUpdate
    Exception                   # 包含用户自定义异常
    Http                        # 包含Http Action
        Home/Index.php          # http://localhost/home/index
    Middleware                  # 中间件文件夹
    Model                       # 存放业务Model
    view                        # 包含普通视图和布局视图
bootstrap                       # bootstrap
    app.php                     # app.php
config                          # 包含应用配置信息
    app.ini                     # 配置映射文件
    app.php                     # app配置文件
    database.php                # 数据库配置文件
    middleware.php              # 中间件配置文件
    redis.php                   # Redis配置文件
    route.php                   # 路由配置文件
    session.php                 # Session配置文件
public                          # 应用web root, 包含公开访问的内容
    index.php                   # 应用http入口
runtime                         # runtime目录,包含程序运行期间生成的文件
    compiled                    # 编译文件目录
    log                         # 日志目录
    session                     # 文件session目录
vendor                          # composer vender

代码生成工具

为了减少新建类时代码复制等重复工作,KanaPHP使用命令行简化创建Model、中间件、Action的工作;

# 创建User Model
./kana make:model User

# 创建CheckToken中间件
./kana make:middleware CheckToken

# 创建接口为order/info的HTTP接口
./kana make:http order/info

# 创建order:dailyUpdate定时任务
./kana make:console order:dailyUpdate

接口预览

虽然KanaPHP将命名空间尽量简化,使用一个类时还是需要知道类位于哪个命名空间。因此引入应用component,将常用功能封装成一个个的组件,然后通过app()作为入口访问,常用组件及API如下:

# log
app()->log->info('some thing hanppen', $extraInfo);
app()->log->notice();
app()->log->warning();
app()->log->error();
app()->log->data('event_name', $data); # 业务日志打点

# cookie
app()->cookie->set(); # 默认加密,防止客户端修改
app()->cookie->get();

# session
app()->session->set();
app()->session->get();

# 数据库
app()->db->table('user')->where('id', 1)->first();
app()->db->table('order')->where('type', '=' 1)->all();

# 加密
app()->encrypter->encrypt($data);
app()->encrypter->decrypt($data);

# Redis
app()->redis->set();
app()->redis->get();

# 验证
$post = $request->post();
$rules = [
    'title' => 'required|string|between:5,50|name:标题',
    'content' => 'required|string|name:内容',
    'mobile' => 'required|mobile|name:手机号码',
    'email' => 'required|email|name:邮箱地址',
];
app()->validator->validate($post, $rules);

文档

详细文档编写中

贡献

https://github.com/kanaphp/kanaphp
https://github.com/kanaphp/framework
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
中间件 PHP 调度
深入浅出PHP框架之Laravel的优雅
【10月更文挑战第3天】在PHP的世界里,Laravel以其优雅和简洁闻名。本文将带你走进Laravel的世界,探索它的魔法。我们将通过代码示例,一步步揭示Laravel的魅力。准备好,让我们一起开始这场奇妙的旅程吧!
|
1月前
|
缓存 安全 PHP
深入浅出PHP框架之Laravel的优雅与实用
【10月更文挑战第22天】在PHP的世界里,Laravel如同一股清流,以其优雅的设计和实用的功能赢得了广大开发者的喜爱。本文将带你走进Laravel的世界,探索其背后的设计哲学,以及如何利用Laravel构建高效、可维护的Web应用。从路由到模型,从控制器到视图,我们将一步步揭开Laravel的神秘面纱。
50 3
|
3月前
|
设计模式 缓存 前端开发
PHP框架比较?
【9月更文挑战第2天】PHP框架比较?
53 6
|
5月前
|
缓存 安全 前端开发
php框架
【7月更文挑战第14天】php框架
49 2
|
5月前
|
测试技术 PHP 数据库
深入解析PHP框架:Symfony框架详解与应用
📚 Symfony框架深度解析:模块化设计提升开发效率,性能优越,灵活性高,支持MVC模式。探索控制器、路由、模板(如Twig)、服务容器、事件调度器等核心概念。还包括表单处理、数据库集成( Doctrine ORM)、安全组件、国际化支持及调试工具。使用Symfony CLI快速创建应用,内置PHPUnit测试支持。开始你的高质量Web开发之旅吧!
89 2
|
5月前
|
缓存 中间件 API
PHP框架详解 - Laravel 框架
PHP框架详解 - Laravel 框架
|
6月前
|
前端开发 PHP 数据库
PHP框架详解之Symfony框架
在现代Web开发中,PHP作为一种灵活且功能强大的编程语言,广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性,开发者通常会选择使用框架来构建应用程序。在众多PHP框架中,Symfony以其强大的功能和灵活性脱颖而出,成为开发者们的首选之一。本文将详细介绍Symfony框架,包括其历史、核心功能、组件、安装和使用方法,以及在实际开发中的应用案例。
57 2
|
5月前
|
设计模式 前端开发 PHP
PHP框架详解 - CodeIgniter 框架
PHP框架详解 - CodeIgniter 框架
|
5月前
|
存储 缓存 安全
PHP框架详解 - symfony框架
PHP框架详解 - symfony框架
|
5月前
|
安全 前端开发 API
PHP框架详解 - ThinkPHP框架
PHP框架详解 - ThinkPHP框架