php

列表

OneThink架构设计

本章主要介绍OneThink的功能架构设计。www WEB部署目录(或者子目录)├─index.php 入口文件├─README.md README文件├─Application 应用模块目录├─Public 应用资源文件目录└─ThinkPHP 框架目录] {.abc}OneThink目录结构使用ThinkPHP3.2版本的标准目录结构,详细的核心目录结构设计请参考ThinkPHP3.2官方文档。

OneThink文档模型扩展

如何增加新的文档模型在模型管理 里新增一个模型,类型选择 文档模型。假设标识为“topic”,名称为“话题”。

OneThink模型扩展开发指南

建立模型在模型管理里可新建一个自定义模型,也可以新建文档模型。文档模型的本质是继承自基础文档模型。

OneThink插件开发的注意事项

插件的基础是物理文件,所以插件类的结构一定要和官方一致。开发阶段不要随便删除文件,导致系统运行不正常。要删除插件请先后台卸载插件后再删除物理文件,否则钩子表有脏数据或者叫未挂载的插件,进钩子列表删除。

OneThink插件后台的开发

如果插件需要后台显示,可以在快速创建插件步骤里,勾上‘是否需要后台列表’,然后配置下列表显示需要的数组参数,如果需要制定模板,可以写下custom_adminlist文本域,指定列表页的模板。然后可以在那里二次开发,比如弄个弹窗更新部分数据什么的。

OneThink插件的开发流程

理解插件的含义先通读《插件开发指南》,理解插件和钩子的含义,以及插件的安装、执行、配置、卸载流程。弄清自己待开发的插件需求-要完成的逻辑业务问自己几个问题:插件的基本信息(名称、标识、描述、状态、作者、版本)是哪些插件的用途是扩展显示还是控制数据

什么是钩子?

讲到插件,不得不讲钩子。首先,我们之前说明了插件是一个扩展的功能实现。既然是扩展的,那么就要很灵活、可复用,并不是像我们之前开发项目,一个功能实现了,就写死在代码里了。项目其他地方要用了,怎么办,复制一份改个名,改的那个地方能调用实现。这样一次两次可以,次数多了就不行了。

什么是插件?

插件的定位是用于实现某些简单的显示及数据处理的功能扩展。所以我们的初衷是插件的开启关闭,不会影响原有数据。

OneThink插件开发指南

OneThink插件开发指南,完整的插件运行流程插件安装流程首先 ,我们打开Editor插件的定义类<?php// +----------------------------------------------------------------------// | OneThink [ WE CAN DO IT JUST THINK IT ]// +-------------------------------------------------------------

OneThink权限管理扩展指南

OneThink权限判断流程按顺序如下:IP 权限检测,如果配置了IP白名单(ADMIN_ALLOW_IP),则仅有白名单的IP可以通过这一步检测。其他IP被直接拒绝。特殊节点检测,特殊节点有两种。一种是任何管理员都可以访问的节点(ALLOW_VISIT),例如修改密码;

OneThink模板开发指南

基础知识见 ThinkPHP3.2手册 视图部分Onethink后台模板后台使用了模板继承,基础模板位于 View/Public/base.html。其他模板都位于对应的控制器模板目录。后台公共js文件位于Public/Admin/Js/common.js,这个js文件是在页面主体内容之后加载。后台公共css文件位于Public/Admin/Css/base.css在具体的控制器模板中,你可以通过继承重置<block name="script">&a

OneThink公共函数库,类库的使用规范

函数函数命名函数命名,全部使用小写,单词直接使用 _ 连接,函数名的名称应与函数功能相符,且函数名中使用的单词,应该是全称单词.函数文件二次开发时增加的函数,尽量使用独立的新函数文件保存,通过配置载入,以方便未来的升级.代码质量由于函数通常会被多次调用,因此应确保函数代码质量,仔细检测测试保证函数在执行过程中不会抛出任何级别的PHP错误,否则部署后可能引起严重的性能问题.

OneThink数据字典

action,action_log,addons,attachment,attribute,auth_extend权限扩展表,当节点控制无法满足时,需要对权限控制进行扩展。例如:分类的授权即使用该表。auth_group用户组定义表,auth_group_access用户用户组关系对应表

OneThink命名规范与编码规范

Addons 插件目录(每个子目录代表一个插件)Application 应用模块目录Admin 后台模块Common 公共模块,不能通过URL访问Home 前台模块User 用户中心客户端,不能通过URL访问Doc 文档目录Public 公共资源目录Admin 后台模块资源文件目录Home 前台模块资源文件目录static 公共静态插件Uploads 公共上传根目录