百度百科:
https://baike.baidu.com/item/qeephp/8328612?fr=aladdin
官方地址:
http://www.qeephp.cn/app/index.php
下载地址:
https://github.com/firzen/QeePHP
文档
- 快速入门:http://qeephp.cn/docs/qeephp-quickstart/
- 权威开发指南:http://qeephp.cn/docs/qeephp-manual/
- API参考手册:http://qeephp.cn/docs/api/
MVC 工作流程
QeePHP 可以工作在命令行、Web 服务器等各种环境中。在 Web 服务器中,QeePHP 可以选择 MVC 组件来实现全功能的应用程序。
MVC 实际上是一系列略有不同的模式。QeePHP 采用的是Passive(被动)MVC 模式 。在 Passive MVC 模式中,Model(模型)完全不知道自己身处于 MVC 结构之中。换句话说,模型与 MVC 模式里面的其他组成部分完全没有关联,因此模型可以被用在各种场合,而不仅仅限于 MVC 模式。
在 QeePHP 的 MVC 架构中,出现了一系列的对象。这些对象各自承担不同的职责,从而实现了单一入口、请求调度等功能构成的完整运行流程。在详细阐述 QeePHP 的 MVC 工作流程之前,可以通过下面的流程图了解主要的步骤和进程。
MVC 模式的调用流程
详细MVC实现代码请查看 _codemyapp.php
目录结构
app应用
–controller
–helper
–model
–view
–myapp.php
config配置
–boot.php
core框架核心
–library/q.php
–library/orm/activerecord/meta.php
db数据库脚本
lib第三方类库
log日志
public前端公共
–index.php
tmp临时缓存
入口文件
index.php 是默认的入口文件,用于启动整个应用程序。
入口文件负责载入 boot.php 文件、QeePHP 框架的核心文件以及应用程序对象的类定义文件。接下来就是构造应用程序对象,并调用应用程序对象的 dispatching() 方法来进入 MVC 模式。
如果 dispatching() 的返回值是一个字符串,则使用 echo 输出这个字符串。这样在 AJAX 编程时,可以直接将控制器动作的返回结果回馈给客户端的 JavaScript 代码。
QeePHP API 参考手册
API 参考手册提供了 QeePHP 所有对象和方法的参考信息和用法示例。是日常使用必备的参考文档。
- core
- mvc
- orm
- form
- database
- helper
- cache
- webcontrols
- behavior
- exception
- debug
包 – core
Core 包是 QeePHP 核心类的集合,QeePHP 的其他所有功能都依赖核心类提供的服务
QeePHP 核心类提供下列服务:
- 设置的读取和修改;
- 类定义文件的搜索和载入;
- 对象的单子模式实现,以及对象注册和检索;
- 统一缓存接口;
- 基本工具方法;
- 类型安全的集合;
- 日志服务;
- 辅助调试工具;
- 以及运行时上下文对象。
Q
类 Q 是 QeePHP 框架的核心类,提供了框架运行所需的基本服务
QException
QException 是 QeePHP 所有异常的基础类
QColl
QColl 实现了一个类型安全的对象集合
QContext
QContext 封装了运行时上下文
QLog
类 QLog 实现了一个简单的日志记录服务
包 – mvc
在 QeePHP 中,MVC 包实现了 MVC 模式。
QeePHP 的 MVC 默认实现包含下列功能:
- 基于角色的访问控制
- URL 路由解析
- 高级视图架构
- 请求转发等
QACL
QACL 实现了权限检查服务
QController_Abstract
QController_Abstract 实现了一个其它控制器的基础类
QController_Forward
QController_Forward 将请求转发到另一个控制器动作执行
QRouter
QRouter 实现了自定义路由解析
QView_Output
类 QView_Output 用于向浏览器直接输出数据(例如下载文件)
QView_Redirect
QView_Redirect 类封装了一个浏览器重定向操作
QView_Render_PHP
QView_Render_PHP 类实现了视图架构的基础
QView_Render_PHP_Parser
QView_Render_PHP_Parser 类实现了视图的分析
包 – orm
ActiveRecord 是 QeePHP 默认的 ORM 解决方案。
QeePHP 的 ActiveRecord 支持复杂的对象关系管理,以及完善的事件响应机制。
主要特征:
- 支持超过 20 种不同的事件
- 行为插件机制可以透明的改变模型工作方式
- 完全自定义的验证规则
- 高级安全特征
- 对象关系导航
- 类型安全
- 可扩展的模型
- 元编程
QDB_ActiveRecord_Behavior_Abstract
QDB_ActiveRecord_Behavior_Abstract 抽象类是所有行为插件的基础类
QDB_ActiveRecord_Abstract
QDB_ActiveRecord_Abstract 类实现了 Active Record 模式
QDB_ActiveRecord_Association_Abstract
QDB_ActiveRecord_Association_Abstract 封装 ActiveRecord 之间的关联关系
QDB_ActiveRecord_Association_BelongsTo
QDB_ActiveRecord_Association_BelongsTo 类封装 ActiveRecord 对象之间的 belongs to 关联
QDB_ActiveRecord_Association_Coll
QDB_ActiveRecord_Association_Coll 封装了对象的关联关系,并且提供操作这些关联关系的方法
QDB_ActiveRecord_Association_HasMany
QDB_ActiveRecord_Association_HasMany 类封装数据表之间的 has many 关联
QDB_ActiveRecord_Association_HasOne
QDB_ActiveRecord_Association_HasOne 类封装了对象见的一对一关系
QDB_ActiveRecord_Association_ManyToMany
QDB_ActiveRecord_Association_ManyToMany 类封装 ActiveRecord 对象之间的 many to many 关联
QDB_ActiveRecord_Meta
QDB_ActiveRecord_Meta 类封装了 QDB_ActiveRecord_Abstract 继承类的元信息
QDB_ActiveRecord_View
QDB_ActiveRecord_View 类模拟数据库视图的形式实现 Active Record 模式
QDB_ActiveRecord_ViewMeta
QDB_ActiveRecord_ViewMeta 类封装了 QDB_ActiveRecord_View 继承类的元信息
QDB_ActiveRecord_Callbacks
QDB_ActiveRecord_Callbacks 定义了 ActiveRecord 对象及行为插件可用的回调类型
QDB_ActiveRecord_Interface
QDB_ActiveRecord_Interface 接口确定了所有 QDB_ActiveRecord_Abstract 继承类必须实现的静态方法
包 – form
QForm 是一种创新的表单封装模式,完美分离了表单的数据、行为和表现。
QForm 的主要特征:
- 完美分离表单的数据、行为和表现
- 自定义过滤器
- 自定义验证规则
- 可以从配置文件构造表单
- 完善的错误处理机制
- 100% 可定制的表单渲染
QForm_Element
QForm_Element 类封装了表单中的一个值元素
QForm_Group
类 QForm_Group 是容纳多个元素或群组的集合
QForm
类 QForm 封装了表单的数据和行为
包 – database
QeePHP 的数据库访问层支持多种数据库,并且具有强大的扩展能力。
主要特征:
- QDB_Select 实现的连贯接口,支持多种数据库查询方式
- QDB_Expr 封装了数据库表达式,方便构造灵活的查询
- QDB_Cond 封装了查询条件,可以构造任意复杂度的查询条件
- QDB_Table 实现了可扩展的表数据入口,对复合主键有完善的支持
- 可动态切换的数据库连接,满足分布式数据库应用的开发
QDB_Adapter_Abstract
QDB_Adapter_Abstract 是所有数据库驱动的抽象基础类
QDB_Adapter_Mysql
QDB_Mysql 提供了对 mysql 数据库的支持
QDB_Adapter_Pdo_Abstract
QDB_Adapter_Pdo_Abstract 类是所有 PDO 驱动的基础类
QDB_Adapter_Pdo_Exception
QDB_Adapter_Pdo_Exception 异常封装所有 PDO 操作错误
QDB_Adapter_Pdo_Pgsql
QDB_Adapter_Pdo_Pgsql 类提供对 PostgreSQL 的支持
QDB_Adapter_Pgsql
定义 QDB_Adapter_Pgsql 类
QDB_Cond
QDB_Cond 类封装复杂的查询条件
QDB
类 QDB 提供了 QeePHP 访问数据库的基本接口。
QDB_Expr
QDB_Expr 封装一个表达式
QDB_Result_Abstract
QDB_Result_Abstract 是封装查询结果对象的抽象基础类
QDB_Result_Mysql
QDB_Result_Mysql 封装了一个 mysql 查询句柄,便于释放资源
QDB_Result_Pdo
QDB_Result_Pdo 类封装了 PDO 查询结果
QDB_Result_Pgsql
QDB_Result_Pgsql 封装了一个 PostgreSQL 查询句柄,便于释放资源
QDB_Select
QDB_Select 类实现了一个数据库查询接口,提供了进行复杂查询的能力
QDB_Table
QDB_Table 类(表数据入口)封装数据表的 CRUD 操作
QDB_Table_Lite
QDB_Table_Lite类 在程序运行中创建QDB_Table对象而不用事先创建类
包 – helper
Helper 包提供了大量简单易用的辅助工具。
主要包括:
- 文件系统操作
- 数组操作
- 图像操作
- 验证码生成
- 上传文件处理
- YAML 解析与输出
- DOM 工具
- 过滤器
- 验证器
Helper_Filesys
Helper_Filesys 类提供了一组简化文件系统操作的方法
Helper_Array
Helper_Array 类提供了一组简化数组操作的方法
QDom_Document
QDom_Document 类对PHP5自带的DOMDocument进行了自己的扩展
QDom_Element
QDom_Element 类对PHP5自带的DOMElement进行了自己的扩展
QFilter
类 QFilter 实现了过滤器接口,以及一些常用的过滤器方法
Helper_Image
Helper_Image 类封装了针对图像的操作
Helper_ImageGD
Helper_ImageGD 类封装了一个 gd 句柄,用于对图像进行操作
Helper_ImgCode
Helper_ImgCode 类提供验证码生成和检验的接口
Helper_ImgCodeSimple
Helper_ImgCodeSimple 实现了一个简单样式的验证码
Helper_ImgCodeTTF
Helper_ImgCodeTTF 使用 ttf 字体生成验证码
Helper_Uploader
Helper_Uploader 类封装了针对上传文件的操作
Helper_Uploader_File
Helper_Uploader 类封装一个上传的文件
QValidator
QValidator 提供了一组验证方法,以及调用验证方法的接口
Helper_YAML
Helper_YAML 提供 yaml 文档的解析和输出服务
包 – cache
QeePHP 支持多种缓存方式,最大程度的提高运行效率。
主要支持的缓存类型:
- 基于文件的缓存
- APC
- XCache
- Memcached
QCache_APC
QCache_APC 类使用 APC 扩展来缓存数据
QCache_File
QCache_File 类提供以文件系统来缓存数据的服务
QCache_Memcached
QCache_Memcached 使用 memcache 扩展来缓存数据
QCache_Memory
QCache_Memory 在当次请求中使用内存来缓存数据
QCache_PHPDataFile
QCache_PHPDataFile 类以 .php 文件来保存 PHP 的变量内容
QCache_XCache
QCache_XCache 类使用 XCache 扩展来缓存数据
包 – webcontrols
WebControls 是用户界面组件化的核心架构。
QeePHP 的 WebControls 不但提供了一个可扩展的用户界面控件创建机制,还附带了大量常用的用户界面控件。
主要特征:
- 用户界面组件化
- 支持自定义控件
- 支持控件的无线级嵌套
- 附带的标准控件
- 与 QForm 的完美集成
QUI_Control_Abstract
QUI_Control_Abstract 是用户界面控件的基础类
Control_Input_Abstract
Control_Input_Abstract 类使所有输入框控件的基础类
Control_Button
Control_Button 封装各种类型的按钮
Control_Checkbox_Abstract
Control_Checkbox_Abstract 是所有多选框的基础类类
Control_Checkbox
构造一个多选框
Control_CheckboxGroup_Abstract
Control_CheckboxGroup_Abstract 是群组多选框的基础类
Control_CheckboxGroup
构造一个多选框组
Control_DropdownList
Control_DropdownList 构造一个下拉列表框
Control_Hidden
构造一个隐藏表单控件
Control_Label
构造一个标签控件
Control_Listbox
构造列表框
Control_Memo
构造一个多行文本框
Control_Password
密码输入框
Control_Radio
构造一个单选按钮
Control_RadioGroup
构造一组单选按钮
Control_Reset
构造一个表单重置按钮
Control_Static
构造一个静态控件
Control_Submit
构造一个表单提交按钮
Control_Textbox
单行文本框
Control_Upload
构造一个上传文件选择框
包 – behavior
行为插件是 QeePHP 为 ActiveRecord 提供的扩展机制,允许开发者透明的改变模型工作方式。
QeePHP 自带的行为插件包括:
- 快速生成仿 UUID
- 对象关系助手
- 对象属性唯一性检查
- 用户角色绑定
更多的行为插件可以在 QeePHP.com 开源项目与插件平台 上获得。
Model_Behavior_AclUser
Behavior_AclUser 实现基于 ACL 的用户访问控制
Model_Behavior_Fastuuid
Behavior_Fastuuid 为模型生成 64 位整数或混淆字符串的不重复 ID
Model_Behavior_Relation
Behavior_Relation 为 ActiveRecord 添加一组直接操作关联对象的方法
Model_Behavior_Uniqueness
Behavior_Uniqueness 用于检查指定的属性是否存在重复值
包 – exception
包含了 QeePHP 自带的所有异常类。
QeePHP 充分利用异常来指示错误,包含了大量的异常类。
QCache_Exception
QCache_Exception 异常封装所有的缓存错误
Q_ClassFileExistsException
Q_ClassFileExistsException 异常指示类定义文件已经存在
Q_ClassNotDefinedException
Q_ClassNotDefinedException 异常指示指定的文件中没有定义需要的类
Q_CreateDirFailedException
Q_CreateDirFailedException 异常封装指示创建目录失败
Q_CreateFileFailedException
Q_CreateFileFailedException 异常指示创建文件失败
Q_FileNotFoundException
Q_FileNotFoundException 异常指示文件没有找到错误
Q_FileNotReadableException
Q_FileNotReadableException 异常指示文件无法读取错误
Q_IllegalClassNameException
Q_IllegalClassNameException 异常指示无效的类名
Q_IllegalFilenameException
Q_IllegalFilenameException 异常指示存在无效字符的文件名
QLog_Exception
QLog_Exception 异常封装与 QLog 有关的错误
Q_NotImplementedException
Q_NotImplementedException 异常指示未实现的方法
Q_RemoveDirFailedException
Q_RemoveDirFailedException 异常指示删除目录失败
QDB_Exception
QDB_Exception 用于封装数据库操作相关的异常
QDB_Exception_DuplicateKey
QDB_Exception_DuplicateKey 异常指示出现重复主键值错误
QDB_Select_Exception
QDB_Select_Exception 异常封装所有 QDB_Select 相关的错误。
QDB_Table_Exception
QDB_Table_Exception 异常封装所有 QDB_Table 的错误
AclUser_Exception
AclUser_Exception 异常是所有 acluser 插件异常的基础类
AclUser_DuplicateUsernameException
AclUser_DuplicateUsernameException 异常指示重复的用户名
AclUser_UsernameNotFoundException
AclUser_UsernameNotFoundException 异常指示用户名不存在
AclUser_WrongPasswordException
AclUser_WrongPasswordException 异常指示密码不正确
QForm_Exception
QForm_Exception 封装所有与 QForm 有关的错误
QDom_Exception
QDom_Exception 用于封装 DOM 操作相关的异常
QValidator_Exception
QValidator_Exception 封装所有与验证有关的错误
QValidator_ValidateFailedException
QValidator_ValidateFailedException 异常封装了验证失败事件
QDB_ActiveRecord_Association_Exception
QDB_ActiveRecord_Association_Exception 封装所有对象关联发生的错误
QDB_ActiveRecord_Association_NotDefinedException
QDB_ActiveRecord_Association_NotDefinedException 异常指示未定义的关联
QDB_ActiveRecord_Association_RejectException
QDB_ActiveRecord_Association_RejectException 异常指示某个操作被拒绝
QDB_ActiveRecord_Behavior_Exception
QDB_ActiveRecord_Behavior_Exception 指示与行为插件相关的错误
QDB_ActiveRecord_Exception
QDB_ActiveRecord_Exception 封装所有与 ActiveRecord 有关的错误
QDB_ActiveRecord_CallToUndefinedMethodException
QDB_ActiveRecord_CallToUndefinedMethodException 异常指示未定义的方法
QDB_ActiveRecord_ChangingReadonlyPropException
QDB_ActiveRecord_ChangingReadonlyPropException 指示某个属性是只读
QDB_ActiveRecord_CompositePKIncompatibleException
QDB_ActiveRecord_CompositePKIncompatibleException 异常指示某项功能与复合主键不兼容
QDB_ActiveRecord_DestroyWithoutIdException
QDB_ActiveRecord_DestroyWithoutIdException 指示视图删除一个没有主键值的对象
QDB_ActiveRecord_ExpectsAssocPropException
QDB_ActiveRecord_ExpectsAssocPropException 异常指示对象的关联属性没有设置
QDB_ActiveRecord_Meta_Exception
QDB_ActiveRecord_Meta_Exception 封装所有与 QDB_ActiveRecord_Meta 相关的错误
QDB_ActiveRecord_SettingPropTypeMismatchException
QDB_ActiveRecord_SettingPropTypeMismatchException 异常指示指定给属性的值类型不匹配
QDB_ActiveRecord_UndefinedPropException
QDB_ActiveRecord_UndefinedPropException 异常指示未定义的属性
QDB_ActiveRecord_ValidateFailedException
QDB_ActiveRecord_ValidateFailedException 异常封装了 ActiveRecord 对象的验证失败事件
QACL_Exception
QACL_Exception 异常封装了 QACL 相关的错误
QRouter_Exception
QRouter_Exception 异常封装路由相关的错误
QRouter_InvalidRouteException
QRouter_InvalidRouteException 异常指示无效的路由规则
QRouter_RouteNotFoundException
QRouter_RouteNotFoundException 异常指示指定的路由规则不存在
QView_Exception
QView_Exception 异常封装所有与 QView 相关的错误
QUI_Exception
QUI_Exception 封装所有与 QUI 有关的异常
包 – debug
提供帮助进行应用程序调试的工具。
QDebug
QDebug 为开发者提供了调试应用程序的一些辅助方法
QDebug_FirePHP
QDebug_FirePHP 类提供对 FirePHP 的支持
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/230776.html原文链接:https://javaforall.cn