`

关于新手PHPWind插件开发的启示

阅读更多

这段时间以来,一直接触PHPWind,所以在此给刚接触的朋友分享一些自己学习的心得,以下主要讲下插件开发相关方面的内容及原始项目文件修改的一些注意点

(1)关于插件开发

首先可以浏览下官方的教程:http://faq.phpwind.net/topic-27 ,不过,可能官方的教程有些地方刚入手的时候会不太明白,在此做下解释。

 

1.在写插件的时候,可能会用到插件助手这个工具,一些基本文件可以通过改工具生产,改工具可以去官方论坛下载,搜一下应该就有了,使用这个工具后会生成一个插件程序的文件夹,里面会有data,template目录,以及index.php,

admin.php,info.xml文件。下面解释下这几个文件

 

data -- 存放插件可能涉及到的配置文件(一般会生成config.php文件),数据缓存文件

 

template -- 模板文件夹,前后台显示页面的模板文件

 

index.php -- 一般与template中index.htm想对应的用于处理业务逻辑,最终将结果呈现给template/index.htm模板文件的php源文件

 

admin.php -- 原理与上面“index.php"文件类似,只是用于后台数据管理

 

info.xml -- 这个文件我没怎么用过,据推断xml应该是个配置文件,插件相关配置信息应该也可以写入该文件中

 

2.一般插件在后台安装完毕并开启后,在data目录下会生成一个config.php文件,该文件里面是一些插件相关的基本配置信息,存放在一个数组中,类似$db_Demo的数组,数组以key,value的形式存放,例如,里面的key "ifopen"指的是该插件是否开启。

 

3.下面说下2中的后台设置如何写入config.php文件的过程。其实很简单:

 

(1).在前台页面默认生成文件中会有类似一下的代码:

<input type="radio" value="0" name="config[ifopen]" $ifopen_N> <input type="text" name="config[adminlist]" class="input" value="$db_Demo[adminlist]" size="30"> <!--name都是以config['']的形式存在,就是用来将前台的数据采用一个config数组的形式传递到后台--> 

 

 

(2).在后台通过 

InitGP(array('config'));//获取前台传递过来的config数组 

 

 
 这个函数获取到config数组的值,再通过

writeover(H_P."data/config.php","<?php\r\n\$db_Demo=".pw_var_export($config).";\r\n?>");//将配置信息写入config.php这个文件 

 

 将配置信息通过writeover()函数写入文件config.php,就这么简单。最后再调用下操作成功后的提示信息函数。

 

以上步骤就是将后台管理信息写入文件的过程。

 

4.写入配置信息后,又是如何读取的

这个灰常的简单

include_once(H_P."data/config.php"); 

 

 通过上面的代码,就将配置文件的数组信息读取进来了,然后在前台模板文件可以任意读取这些配置信息了,这里可能会涉及到一个ifcheck()函数,效果就是用来选中类似select、radio等元素相应的值。看下ifcheck()这个函数代码就知道了。

 

 

小结:以上所说,就是用插件助手生成的文件中,如何将后台配置信息写入文件的过程,很简单吧。上面过程的好处就是省了数据库,对于数据量不是很多的话可以采用以上的方式。比如:前台需要展现一组图片加链接的形式,那可以将图片的地址与链接地址数据写入类似上面提到的config.php的这么一个文件中。

 

其他的地方我也不再多啰嗦了,就跟一般的写php程序没啥区别,就是一些业务逻辑的判断,以及一些数据的CRUD操作,另外要了解下在插件开发中常用的一些函数,在此我不多啰嗦的,官方教程中都有。

 

 

可以下载Demo示例查看,内有相关注释说明

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics