索引#
「水坑」Z-BlogPHP 应用开发中那些可以自动完成的操作「当前」
相关应用#
开发者工具(应用打包时排除文件) - Z-Blog 应用中心:
好像经常会发生这种事,想到一个功能,然后写了插件,后期想到其他功能可以加进来,然而应用 ID 已经确定了。。。
自动更新应用时间和版本号#
Z-Blog 应用中心插件(客户端)会通过对比应用的版本号和记录的更新时间 —— 记录于plugin.xml
或theme.xml
—— 来判断应用是否有更新,当其中一个大于用户持有版本时才会收到更新提醒;
开发者在更新应用到应用中心前需要对其进行修改,然而不管是在开发站点的后台使用「编辑应用信息」还是直接修改文件都略繁琐;
所以在上边插件中加入了打包为 zba 时自动编辑更新的操作,日期会修改为操作时的「年 - 月 - 日」,日期对比一致则会加版本号,每次从最低段加 1,满 99 后进位;
CSS 和 JS 引入增加版本信息来应用对缓存#
用户更新应用后,浏览器内已经缓存的资源也是很麻烦的东西;
- 检索文件:
include.php
template/header.php
template/footer.php
; - 对于
include.php
,匹配正则为:"/\?v=[0-9\-]{10,}/"
;
自动应用开发模式#
开发模式 - Z-BlogPHP 文档:
https://docs.zblogcn.com/php/#/books/dev-app-start?id=%e5%bc%80%e5%8f%91%e6%a8%a1%e5%bc%8f
启用本插件时会自动开启开发模式;
在本插件开启时,开启其他插件和更新主题也会触发本项操作(会不会有点多余。。
自动开启依赖插件#
如果要开启的应用依赖另外的插件,而对应插件已经存在但是未启用,会自动启用;
仍然会见到报错页面,但是直接刷新就好;
自动生成 VSCode 工作区文件#
插件内置一个usr_cfg\app.code-workspace
,如果你使用的编辑器是 VSCode,可以将usr_cfg
修改为usr
,之后启用任意应用时都会复制一份到应用目录下(会先判断是否存在),并重命名为「[appID].code-workspace」;
工作区内纳入了「zb_system」文件夹,方便搜索系统代码,另外也能解决 PHP 函数定义及补全提示的问题;
「VSCode」PHP 跨文件夹函数定义提示_电脑网络_沉冰浮水:
自动复制 about.php 文件#
如果存在usr\about.php
,同样会自动复制,需要在main.php
手动写包含引入;
我是在div.SubMenu
内使用代码片段快速生成下边代码:
<a href="main.php" title="首页"><span class="m-left m-now">首页</span></a>
<?php require_once "about.php"; ?>
注:此项会判断应用作者,如果与设置的作者匹配才会复制;
快捷重建模板编译及模块内容#
在开发模式下,前台访问仍然要在主题模板发生修改的时才会自动触发重建;
在前台网址内添加?dev
即可触发重建,包括内置的侧栏模块内容;
打包为 zba 文件时排除指定的文件(夹)#
写这个插件的最早初衷,虽然现在 Z-BlogPHP 内置了这个功能,但是需要为每个应用设置「zbignore.txt」,「FileIgnore」插件可以实现将一份配置应用于所有的应用打包;
通用规则路径为zb_users\plugin\FileIgnore\.gitignore
,首次安装时自动生成,之后可自选添加调整内容,更新插件不会覆盖;
通用规则会与插件目录下的.gitignore
合并后使用;
重要:如果应用内某项内容需要在 git 排除,但是要在发布 zba 时包含,请使用「zbignore.txt」,会跳过插件自带的排除机制;