|
为ourphp开发插件,ourphp插件开发指南及文档说明
ourphp从7.0开始,插件及模板分为“付费”和“免费”两种。免费的插件和模板可通过ourphp的论坛版块中下载安装使用,付费的插件模板需要通过ourphp的应用市场在线安装和使用。
您开发的插件扩展,可免费无私奉献给ourphp的普通使用者,也可通过ourphp的应用市场赚取拥金。
所有拥金都归开发者所有,官方不取收一分服务费。
成为插件开发者需要会 PHP+MYSQL 的基础开发技能。
准备好了,我们开始学习插件开发吧!
第一、开发前准备
1. ourphp系统升级到7.0+ ,并进入后台-》运营-》开发者-》创建新插件2. 根据创建页面的提示输入插件的相关信息(具体后面有介绍)
3. 插件包创建成功后,系统会在 /client/plus/ 目录中生成已插件ID为名称的文件夹
4. 后续插件的所有功能开发,都在这个文件夹内完成。包括前后端的所有功能及页面
5. 插件前端页面的UI部份建议用YIQI-UI ,直达链接 https://www.ourphp.net/?cn-about-33.html
6. 开发插件需要用到ourphp的数据库文档,直达链接 https://www.ourphp.net/?cn-about-56.html
7. 开发插件需要用到ourphp的数据库操作类,直达链接 https://www.ourphp.net/?cn-about-58.html
8. 开发插件可能要用到smarty开发文档,直达链接 https://www.ourphp.net/?cn-about-57.html
9. 插件安装问题总汇 https://www.ourphp.net/club/forum.php?mod=viewthread&tid=17575 (新版本基本用不到了)
10.如果前端模板需要用到smarty标签调用动态数据,原始smarty标签为 例:{$smarty.get.id}那么在ourphp模板中需要这样使用 例:[.$smarty.get.id.]
第二、生成插件包
1. 进入后台-》运营-》开发者-》创建新插件(如图)
| 1)插件ID:每个插件都有一个唯一的身份ID,这个ID对比ourphp的数据库,不可重复。 并且插件文件夹(安装包),用到的调用文件都以ID命名。
2)插件信息:插件名称、版本、更新日期、作者、简介根据实际情况填写即可。
3)调用函数类型:共4个类型:function、block、modifier、modifiercompiler (后面有相关介绍)
4)插件后台地址:这个地址就是管理插件内容的地址,也是ourphp后台链接插件管理页面的地址。例:您可在插件文件夹内创建一个admin.php文件,并把这个文件名写到插件后台地址中,系统就会链接这个地址管理这个插件。你可通过admin.php来导向其它功能管理页面。(后面有相关介绍)
5)使用数据库:你开发的插件可以向ourphp的数据库中创建插件依赖的数据表和字段,可创建多个表。如果是纯工具类插件可选择不使用数据库。
6)使用后台列表:不使用后台列表,安装的插件会在“进入后台右侧展示”,“运营-》扩展中展示”。如果使用后台列表,你的插件就在ourphp后台的项部功能区列表中展示。 |
2. 插件创建成功
==> 插件创建成功后,系统会在/client/plus/目录内生成已“插件ID”为名称的文件夹。所有插件的功能及管理页面和前端页面都在这个文件夹内完成。
==> 例:插件ID为 aopai 系统自动在 /client/plus/目录内生成 /aopai/ 目录。即/client/plus/aopai/为你的插件开发包目录。
==> /aopai/ 目录内包含:Author.tpl(插件作者等简介),index.htm(默认目录首页),ourphp_aopai.php(插件安装文件),如果调用函数类型还会生成op_aopai.php(smarty插件文件)
==> 除以上系统自动生成的文件外,其它的文件(例:管理页面、前端页面等文件)都是由插件开发者自由创建。但必须在 /aopai/ 目录内。
==> 插件安装调试或调整可编辑 ourphp_aopai.php 文件。
第三、开始开发插件
注:ourphp是一个框架载体,每一个的插件都是独立的(独立的管理页面和独立的用户前端使用页面等)。ourphp为你提供系统的基础功能和数据库。
1. 生成好插件包以后,在开发过程中。如需要更改数据库或插件类型等信息,可通过编辑ourphp_aopai.php 文件修改。(注:aopai 是你的插件ID)
2. 除工具类插件,其它插件带有管理地址的,请在创建插件时或编辑安装文件填写“插件后台地址” 例如:填写 admin.php 不需要加路径。
3. 所有插件后台管理页面的PHP文件顶部都要引入 :<?php include "../ourphp_plus_admin.php";?>
4. 所有插件前端(用户使用)页面的PHP文件顶部都要引入 :<?php include "../ourphp_plus_index.php";?>
5. 调用函数类型(可不用),ourphp系统整合了smarty,其中4个类型:function、block、modifier、modifiercompiler 为smarty中的插件。可用于ourphp中并提供给前端html页面中使用(可以理解把PHP代码转化为html标签)。 例如:我使用了function函数插件,系统在生成插件包时,在目录内生成了op_aopai.php(注:aopai 是你的插件ID)文件。此文件可把你的PHP代码逻辑转化为html标签,可在ourphp系统前端html文件中使用。文件内的代码如下:
- function smarty_function_aopai($params, &$smarty){
- global $db,$ourphp;
- extract($params);
- //你的逻辑代码
- return ;
- }
复制代码 前端html页面中的调用标签为:[.aopai.] 可增加参数 例:[.aopai name="ourphp" tel="13888888888".] 等
那php代码中的接收参数如下:- function smarty_function_aopai($params, &$smarty){
- global $db,$ourphp;
- extract($params);
- $name = isset($params['name'])?$params['name']:"ourphp";
- $tel= isset($params['tel'])?$params['tel']:"88888";
- }
复制代码
调用函数类型可参考smarty中的用法:
function(常用) :https://www.ourphp.net/smarty/language.function.function.html
block :https://www.ourphp.net/smarty/language.function.block.html
modifier :https://www.ourphp.net/smarty/language.modifiers.html
使用DEMO下载 :https://pan.baidu.com/s/1pM7YelRjBlUt9KJuuI3xng 提取码: sf7e
6. 使用数据库:在创建插件时,可为你的插件创建一个或多个数据库。用来储存你插件所需的相关数据。如果生成插件以后也可以通过编辑ourphp_aopai.php 文件修改。(注:aopai 是你的插件ID)工具类插件可不使用数据库。
==> 第一创建表名,表名输入英文字母即可。例:admin 那此插件表名全称为:ourphp_p_aopai_admin (注:aopai 是你的插件ID)总长度 < 64字符==> 第二填写字段,每个表下面对应字段,格式:name|varchar(255) (字段名|类型)。name|varchar(255) 字段类型: varchar(255)文本类型 text备注类型 int(10)数字类型 datetime时间类型 一行一个。
参考如图:
7. 使用后台列表:默认为不使用,在不使用的情况下安装好的插件可通过 1)后台首页右侧进入 2)后台-》运营-》扩展中进入插件管理页面。如果选择使用插件后台列表功能,系统把你设置的插件管理地址注册到后台顶部功能区中。
==> 有什么区别? 只有一个管理地址的插件不需要使用后台列表,当一个插件多个管理地址的,可使用后台列表。
参考如图:
8. 编写你自已的其它功能及页面:除以上系统自动生成的文件和功能之外,你的插件要实现在功能及页面需要自已进行编写了。但必须在 /aopai/ (注:aopai 是你的插件ID)插件包目录中完成所有插件的业务逻辑及前端用户展示页面等。除系统文件外,其它所有文件命名随意无要求。
==> 管理页面需引入 <?php include "../ourphp_plus_admin.php";?>
==> 前端页面需引入 <?php include "../ourphp_plus_index.php";?>
==> 读取数据库数据可使用ourphp数据库类,可参考 https://www.ourphp.net/?cn-about-58.html
==> 对用户提交的数据必须严格过滤,函数:dowith_sql(); 例:dowith_sql($_POST['name']) ,数字用intval($_POST['id'])过滤。
==> 可调用的系统方法如下:
dowith_sql($str) 防注入 | newtime($str) 格式化时间 | utf8_strcut($str, $start, $length=null)
string $str 被截取的字符串
nteger $start 起始位置
integer $length 截取长度(每个汉字为3字节) | ourphp_mb_substr($str = '',$s = 0, $e = '')
string $str 被截取的字符串
integer $s 起始位置
integer $e 截取长度 | randomkeys(32)
随机生成一组32位字符,可用于验证 | compress_html($str)
压缩html : 清除换行符,清除制表符,去掉注释标记 | half_replace($str)
替换中间字符为 * 号 | ourphp_sensitive($content = '')
处理敏感字 |
第四、开发完成打包
1. 插件开发调试完成以后,请打包为zip文件。
例:你的插件ID为aopai ,那么插件目录就为 /client/plus/aopai/ 请把/aopai/目录及目录内的文件及文件夹打包成 aopai.zip
第五、发布
1. 如果您的插件想免费给ourphp其它用户使用,请把插件zip包上传至百度或其它网盘,并在论坛发布您的模板说明及下载地址。
注:插件下载版块 https://www.ourphp.net/club/forum.php?mod=forumdisplay&fid=37
2. 如果您的插件是收费插件,请联系ourphp管理员(13199509559微信同步),发布到应用市场中。用户可通过应用市场购买及安装。
|
|