# oFrame **Repository Path**: tolizhan/oFrame ## Basic Information - **Project Name**: oFrame - **Description**: orange-frame 是模块化易迁移易分布的轻量级php框架 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 2 - **Created**: 2018-05-11 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: webframework **Tags**: None ## README # orange-framework 模块化轻量级php框架 框架本身是套解决方案, 兼容全浏览器及[php5.2~8.4.x](http://doc.phpof.net/?oFrame/FAQ/namespace.html,oFrame/navigation.html)
它基于MVCS, 同时[支持多种设计模式](http://doc.phpof.net/?oFrame/FAQ/architect.html,oFrame/navigation.html)
它拥有简洁的[开发方式](http://doc.phpof.net/?oFrame/helpManual/controller.html,oFrame/navigation.html,work), 简单的[模板引擎](http://doc.phpof.net/?oFrame/helpManual/htmlTpl.html,oFrame/navigation.html)
它支持原生的[异步操作](http://doc.phpof.net/?oFrame/components/timer.html,oFrame/navigation.html), 分布式[消息队列](http://doc.phpof.net/?oFrame/components/mq.html,oFrame/navigation.html)
它包含完整的[错误日志](http://doc.phpof.net/?oFrame/helpManual/error.html,oFrame/navigation.html), 丰富的[扩展接口](http://doc.phpof.net/?oFrame/FAQ/baseExtends.html,oFrame/navigation.html)
它的理念是易部署, 易扩展, [易伸缩](http://doc.phpof.net/?oFrame/FAQ/issue.html,oFrame/navigation.html,scaling) 手册地址 [phpof](http://doc.phpof.net/) 或 [deepwiki](https://deepwiki.com/tolizhan/oFrame) 或 wiki
问题反馈 tolizhan@qq.com ## 框架部署 ### 测试部署 1. 部署一个php >= 5.2的网络环境, [若需Swoole环境另见](http://doc.phpof.net/?oFrame/helpManual/swoole.html,oFrame/navigation.html) 2. 下载框架代码 [github](https://github.com/tolizhan/oFrame/) 或 [gitee](https://gitee.com/tolizhan/oFrame/) 3. 解压到任意可访问的路径, 如果是 Linux 创建 /data 文件, 给 -R 可读写权限 4. 访问框架根目录, 显示界面并且没有红色报错便部署成功 ### 正式部署 0. 打开框架配置/include/of/config.php 1. 修改config键值为null 目的是删除 demo 对框架的重写 2. 修改debug键值, 生产环境一个要改为"字符串"密码, 防止生产环境敏感信息泄漏 3. 修改db键值连接一个数据库 4. 根据实际需求开关 preloaded 中对应的模块 5. 删除/demo文件夹 6. 若为分布式架构, 将各节点/data文件夹挂载到同一个目录, K-V使用非files方式 7. 若为分布式架构, 将/data文件夹共享 8. 如没特殊需求, 以下两点可忽略 9. 框架可放在任意路径下,也可以改名,这里我们确定在"/include/of" 10. 修改rootDir键值为strtr(substr(\_\_FILE\_\_, 0, -22), '\\\\', '/') 目的是定义磁盘根路径到 "/include/of" ### 系统访问 1. URL格式可以通过系统入口定制
如: /index.php?c=控制类&a=方法名 或 /index.php/控制类/方法名 等 2. CLI模式可以通过"`$GLOBALS键值:url编码`"来设置超全局变量,可通过 _TZ指定时区, _IP指定IP, _RL指定ROOT_URL
如: `php /index.php "get:c=demo_index&a=index" "post:test=demo"` 设置`$GLOBALS['_GET']`和`$GLOBALS['_POST']`值 ### 框架升级 1. 用新版框架替换旧版不包含配置的全部文件 (注意删除新版中不存在的文件) 2. 查看旧版到新版本号的 [变更日志](changelog.txt) 3. 按照日志说明中"-"开头的不兼容点, 从低到高版升级当前系统 ### 入门顺序 0. [开发规范](http://doc.phpof.net/?codingStandard/htmlCssJsPhpMysql/general.html,codingStandard/navigation.html) 1. [了解框架](http://doc.phpof.net/?oFrame/gettingStarted/preface.html) 2. [部署说明](http://doc.phpof.net/?oFrame/gettingStarted/deploy.html) 3. [配置文件](http://doc.phpof.net/?oFrame/gettingStarted/config.html) 4. [入门演示](http://doc.phpof.net/?oFrame/gettingStarted/introduction.html) 5. [错误日志](http://doc.phpof.net/?oFrame/gettingStarted/error.html,oFrame/navigation.html) 6. [php L类 ](http://doc.phpof.net/?oFrame/gettingStarted/Lphp.html) 7. [js L对象](http://doc.phpof.net/?oFrame/gettingStarted/L.js.html) 8. [模版引擎](http://doc.phpof.net/?oFrame/gettingStarted/htmlTpl.html,oFrame/navigation.html) 9. [分页列表](http://doc.phpof.net/?oFrame/gettingStarted/pageTable.html) 10. [上传插件](http://doc.phpof.net/?oFrame/integrated/oUpload.html,oFrame/navigation.html) 11. [工作流开发](http://doc.phpof.net/?oFrame/helpManual/controller.html,oFrame/navigation.html,work) 12. [计划任务](http://doc.phpof.net/?oFrame/components/timer.html,oFrame/navigation.html) 13. [消息队列](http://doc.phpof.net/?oFrame/components/mq.html,oFrame/navigation.html)