索引#
「水坑」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」,會跳過插件自帶的排除機制;