这段时间以来,一直接触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示例查看,内有相关注释说明
分享到:
相关推荐
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答
【毕业设计】java-springboot+vue机动车号牌管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip