OneThink是一个开源的内容管理框架,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制,融合了模块化、驱动化和插件化的设计理念于一体,开启了国内WEB应用傻瓜式开发的新潮流。

[ 主要特性 ]

  1. 基于ThinkPHP最新3.2版本。
  2. 模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。
  3. 文档模型/分类体系:通过和文档模型绑定,以及不同的文档类型,不同分类可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。
  4. 开源免费:OneThink遵循Apache2开源协议,免费提供使用。
  5. 用户行为:支持自定义用户行为,可以对单个用户或者群体用户的行为进行记录及分享,为您的运营决策提供有效参考数据。
  6. 云端部署:通过驱动的方式可以轻松支持平台的部署,让您的网站无缝迁移,内置已经支持SAE和BAE3.0。
  7. 云服务支持:即将启动支持云存储、云安全、云过滤和云统计等服务,更多贴心的服务让您的网站更安心。
  8. 安全稳健:提供稳健的安全策略,包括备份恢复、容错、防止恶意攻击登录,网页防篡改等多项安全管理功能,保证系统安全,可靠、稳定的运行。
  9. 应用仓库:官方应用仓库拥有大量来自第三方插件和应用模块、模板主题,有众多来自开源社区的贡献,让您的网站“One”美无缺。

OneThink只是一个内容管理框架,并不是一个真正意义的CMS,所以你不会看到很多的功能,也不要因此而抱怨,因为一切功能都来自于您的创造或者大家的分享。这才是OneThink的理念和定位。OneThink集成了一个完善的后台管理体系和前台模板标签系统,让你轻松管理数据和进行前台网站的标签式开发。

[ 主要功能 ]

  1. 用户Passport系统
  2. 配置管理系统
  3. 权限控制系统
  4. 后台建模系统
  5. 多级分类系统
  6. 用户行为系统
  7. 钩子和插件系统
  8. 系统日志系统
  9. 数据备份和还原

利用OneThink现有的后台功能和标签库机制,你可以轻松的定制或者开发基于OneThink的网站和应用。

[ 最低系统需求 ]

•PHP 5.3.0 或更高版本。
•MySQL 5.0 或更高版本。

[ 系统安装 ]

    1. 将OneThink压缩包解压至一个空文件夹,并上传它。
    2. 首次在浏览器中访问index.php,将会进入安装向导。
    3. 按照安装向导完成安装。若在安装过程中出现问题,请访问官网讨论区寻求帮助。

架构设计

应用目录结构

wwwroot

  1. ├─index.php OneThink入口文件
  2. ├─Addons 插件目录
  3. ├─Application 应用模块目录
  4. │ ├─Admin 后台模块
  5. │ │ ├─Conf 后台配置文件目录
  6. │ │ ├─Common 后台函数公共目录
  7. │ │ ├─Controller 后台控制器目录
  8. │ │ ├─Model 后台模型目录
  9. │ │ ├─Logic 后台模型逻辑目录
  10. │ │ └─View 后台视图文件目录
  11. │ │
  12. │ ├─Common 公共模块目录(不能直接访问)
  13. │ │ ├─Conf 公共配置文件目录
  14. │ │ ├─Common 公共函数文件目录
  15. │ │ ├─Controller 模块访问控制器目录
  16. │ │ └─Model 公共模型目录
  17. │ │
  18. │ ├─Home Home 前台模块
  19. │ │ ├─Conf 前台配置文件目录
  20. │ │ ├─Common 前台函数公共目录
  21. │ │ ├─Controller 前台控制器目录
  22. │ │ ├─Model 前台模型目录
  23. │ │ └─View 模块视图文件目录
  24. │ │
  25. │ └─User 用户模块(不能直接访问)
  26. │ ├─Api 用户接口文件目录
  27. │ ├─Conf 用户配置目录
  28. │ ├─Common 后台函数公共目录
  29. │ ├─Model 用户模型目录
  30. │ └─Service 用户Service文件目录
  31. ├─Public 应用资源文件目录
  32. ├─Runtime 应用运行时目录
  33. ├─ThinkPHP 框架目录
  34. └─Uploads 上传根目录
  35. ├─Download 文件上传目录
  36. ├─Picture 图片上传目录
  37. └─Editor 编辑器图片上传目录

静态资源目录结构

  1. ├─Public 应用资源文件目录
  2. │ ├─Admin 后台资源文件目录
  3. │ │ ├─css 样式文件目录
  4. │ │ ├─images 图片文件目录
  5. │ │ └─js 脚本文件目录
  6. │ │
  7. │ ├─Home 前台资源文件目录
  8. │ │ ├─css 样式文件目录
  9. │ │ ├─images 图片文件目录
  10. │ │ └─js 脚本文件目录
  11. │ │
  12. │ └─static 公共资源文件目录

OneThink开发框架的更多相关文章

  1. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  2. 从零开始编写自己的C#框架(27)——什么是开发框架

    前言 做为一个程序员,在开发的过程中会发现,有框架同无框架,做起事来是完全不同的概念,关系到开发的效率.程序的健壮.性能.团队协作.后续功能维护.扩展......等方方面面的事情.很多朋友在学习搭建自 ...

  3. CRL快速开发框架系列教程十三(嵌套查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  4. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  6. CRL快速开发框架系列教程十(导出对象结构)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. CRL快速开发框架系列教程七(使用事务)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  9. CRL快速开发框架系列教程六(分布式缓存解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

随机推荐

  1. js jquery 选择器总结

    js jquery 选择器总结 一.原始JS选择器. id选择器:document.getElementById("test"); name选择器:document.getElem ...

  2. java 对象入门

    对象的五大特征 (1)所有东西都是对象.可将对象想象成一种新型变量;它保存着数据,但可要求对自身进行操作.理论上讲, 可从要解决的问题身上提出所有概念性的组件,然后再程序中将其表达为一个对象. (2) ...

  3. Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!

      使用Code Snippet简化Coding 在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for.foreach ? 在编写这两个循环语句的时候,你是一个字符 ...

  4. asp rs开启关闭问题

    使用rs.close关闭后,可以直接用rs.open来打开数据表:如果用了set rs = nothing 从内存中清除rs对象,再次加载rs对象就需要使用set rs=server.createob ...

  5. C++11特性:decltype关键字

    decltype简介 我们之前使用的typeid运算符来查询一个变量的类型,这种类型查询在运行时进行.RTTI机制为每一个类型产生一个type_info类型的数据,而typeid查询返回的变量相应ty ...

  6. CentOS 7 上安装 redis3.2.3安装与配置

    前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自身集群的功能. 而现在最新的项目是需要redis集群的,这篇文章我们就来介绍下有关redis的安装与配置. 一. ...

  7. GridView 动态添加绑定列和模板列

    动态添加绑定列很简单:例如: GridView1.DataSourceID = "SqlDataSource1"; BoundField bf1 = new BoundField( ...

  8. [NHibernate]延迟加载

    目录 写在前面 文档与系列文章 延迟加载 一个例子 总结 写在前面 上篇文章介绍了多对多关系的关联查询的sql,HQL,Criteria查询的三种方式.本篇文章将介绍nhibernate中的延迟加载方 ...

  9. 如何快速上手使用STM32库函数

    一.背景 如前文所述,利用标准库函数的好处在于,可以快速开发,不用去对着数据手册,小心翼翼的一位一位的配置那些繁复的寄存器,因为这些工作意法半导体已经找了一些顶级的工程师帮你做了,杰作既是其库函数.当 ...

  10. thinkphp表单自动验证

    ThinkPHP框架表单验证 对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验 ...