An open API service indexing awesome lists of open source software.

https://github.com/pandaengine/qingmvc

QingMVC开源轻量级PHP框架 { A SIMPLE MVC&OOP PHP FRAMEWORK }
https://github.com/pandaengine/qingmvc

Last synced: about 2 months ago
JSON representation

QingMVC开源轻量级PHP框架 { A SIMPLE MVC&OOP PHP FRAMEWORK }

Awesome Lists containing this project

README

          

# QingMVC框架 | 开源轻量级PHP框架

QingMVC.PHP { A SIMPLE MVC&OOP PHP FRAMEWORK }

> 国产轻量级MVC&OOP框架

**轻量级,组件化开发,事件系统,数据库与缓存,容器依赖注入,表单验证过滤,辅助开发**

# 轻量级

始终坚持“简约不简单,简单才是硬道理”的编程理念,Qing名称的由来,此"Qing"就是“轻”。简单、快速、高效。

# MVC&OOP

严格的面向对象开发,快速实现MVC分层。多种控制器类型和适配器,多种视图组件支持。

# 数据库与缓存

提供多种数据库或缓存驱动,可同时使用多个连接。支持模拟sql语法的链式操作方式。
统一的接口访问不同的数据库或缓存连接。

# 组件化开发

组件化开发是框架非常重要的开发规范,框架很多内置实现和扩展功能都是基于组件的。
组件就是一个可复用、可配置、可分离、可扩展的封装部分,第三方扩展推荐以组件形式提供。

# 事件系统

AOP面向切面的编程思想,用于支持插件扩展。在一个大型web系统中,插件扩展机制非常重要。

# 第三方扩展

组件化设计很容易接入第三方扩展,框架默认就提供了FastRoute路由解析器,Smarty模版引擎等组件,
挂载组件即可一键开启第三方扩展的支持。

# 路由和URL

可扩展的路由解析器,URL生成器,path/get.

# 容器依赖注入

使用容器管理实例,解析和注入实例依赖
门面类:方便的访问容器实例或组件实例。

# 表单验证过滤

用户数据的验证过滤是web安全的重要组成部分,系统提供了多种验证器和过滤器,
配合表单字段生成器可以方便快速构架表单验证功能。

# 辅助开发

使用拦截器挂载各种辅助工具,仅在开发本地环境中挂载。
例如: 门面类提示生成器,数据库备份,前端静态文件格式化器,表单过滤器/验证器模版生成器等

表单模版生成器: 根据数据库表字段,生成表单验证器模版类,解放双手。
IDE提示生成器: 生成门面类静态函数列表,仅用于提示。
拦截器:使用烂机器
国际化语言提示类生成器:
utils:工具类库

# 安全

即便为了所谓简单、快速、高效的开发,安全也是绝不可牺牲或忽视的。
框架提供的许多常见安全问题的应对策略, sql注入: 默认开启数据库查询预处理,而不需要多余复杂的操作;
表单验证过滤方便快捷的验证过滤使用到的用户数据; 表单令牌避免csrf等。

# 总结

高可扩展、可重用:组件化支持,事件系统(插件机制),第三方扩展等共同实现了框架的高可扩展。
其他:会话组件,用户会话,日志系统

# ©QingMVC

QingMVC是一个开源轻量级框架 ,基于MVC和面向对象设计模式,使用Apache2开源协议,可以免费用于商业或个人项目。
编程理念:简约不简单,简单才是硬道理;QING IS NOT SIMPLE,QING IS THE BEST.

# 在线手册(部分)

* [0.简介](http://books.qingmvc.com/qingmvc/0.简介.md)
* [1.0.入门](http://books.qingmvc.com/qingmvc/1.0.入门.md)
* [1.1.应用目录](http://books.qingmvc.com/qingmvc/1.1.应用目录.md)
* [1.2.执行流程](http://books.qingmvc.com/qingmvc/1.2.执行流程.md)
* [2.0.配置](http://books.qingmvc.com/qingmvc/2.0.配置.md)
* [2.1.环境配置](http://books.qingmvc.com/qingmvc/2.1.环境配置.md)
* [2.3.用户设置](http://books.qingmvc.com/qingmvc/2.3.用户设置.md)
* [2.4.碎片化选项配置](http://books.qingmvc.com/qingmvc/2.4.碎片化选项配置.md)