沉冰浮水

沉冰浮水

做最终到的事,成为最终成为的人!
github
bilibili
mastodon
zhihu
douban

「水坑」Z-BlogPHP 应用开发中那些可以自动完成的操作

索引#

「水坑」系列教程索引

「水坑」如何正确的自定义 CSS 样式

「水坑」Z-BlogPHP 应用开发中那些可以自动完成的操作「当前」

相关应用#

开发者工具(应用打包时排除文件) - Z-Blog 应用中心:

https://app.zblogcn.com/?id=1254

好像经常会发生这种事,想到一个功能,然后写了插件,后期想到其他功能可以加进来,然而应用 ID 已经确定了。。。

自动更新应用时间和版本号#

Z-Blog 应用中心插件(客户端)会通过对比应用的版本号和记录的更新时间 —— 记录于plugin.xmltheme.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 跨文件夹函数定义提示_电脑网络_沉冰浮水:

https://www.wdssmq.com/post/20200930532.html

自动复制 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」,会跳过插件自带的排除机制;

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。