解决某个问题
回答“如何解决某个问题”这一问题
以及如何教人解决问题
哪个更难???
我自己遇到这个问题要怎么解决和怎么教你是两回事,何况很多时候我压根就没遇到过一模一样的问题!!!
-----------------
所以本贴将主要收集一些“教人解决问题”的案(tu)例(cao),然后是类似“你应该知道的Tips”这样的东西,,大概。。。
SO,我能放弃么。Orz。。。
-------------
【开发者】大概算是进阶建议贴-开发者中心-ZBlogger技术交流中心
https://bbs.zblogcn.com/thread-101310.html
-----
wdssmq/test-for-zblog: zblog插件开发演示
https://github.com/wdssmq/test-for-zblog
注:下方回帖中带有【Update】标签的指的是这个项目内的更新摘要;
主题开发建议参考这个:
mzERK - Z-Blog 应用中心
https://app.zblogcn.com/?id=2120
沉冰浮水.tk 丨 点此加入QQ群 ←_←我大概率能够解决你所实际面临的问题(收费),然而”你提出的问题“却往往是另一个问题。
[#1]
站内资源一览:
---
教程贴索引[电梯]-Z-BlogPHP-ZBlogger技术交流中心
https://bbs.zblogcn.com/thread-94927.html
主题测试用数据库【2019版】及主题更新注意事项-开发者中心-ZBlogger技术交流中心
https://bbs.zblogcn.com/thread-100856.html
< Z博通 > - Zblog应用开发者必备利器-应用发布-ZBlogger技术交流中心
https://bbs.zblogcn.com/thread-94208.html
[开发者]正则表达式相关专贴
https://bbs.zblogcn.com/thread-101713.html
【开发者】1.6新增应用打包时排除文件(夹)功能专贴-开发者中心-ZBlogger技术交流中心
https://bbs.zblogcn.com/thread-102780.html
火狐有个功能,查看页面源码时会以红色标识未闭合的HTML标签,虽然现在VSCode之类的编辑器都能很好的自动闭合。
【浏览器】【快捷键】此楼各种术语以Chromium内核的Microsoft Edge为例,汉化比较充分。-----f5或者ctrl+r ---------------------- 刷新网页ctrl+f5或者ctrl+shift+r ---------- 无视缓存强制刷新【作为开发者,则应该考虑CSS或JS增加版本参数,类似zblogphp.js?v=162105】---f12 ------ 开发人员工具【会看这个很重要,或者说知道有这个东西存在很重要】---
【吐槽】控制台输出的内容可能是折叠的,需要点击展开,类似于:
▶ (6) [{…}, {…}, {…}, {…}, {…}, {…}]
话说三角符号为什么这么大。。
【JavaScript】
JavaScript 教程 - 网道https://wangdoc.com/javascript/
ES6 教程 - 网道
https://wangdoc.com/es6/
【编辑器】【VS Code】【快捷键】
----
ctrl+shift+f —————— 在“工作区”全部文件中搜索;
请一定要给每个插件或主题创建“工作区”,并将zb_system纳入的工作区中,方便搜索系统代码;
├─YourAPP└─zb_system
【吐槽】YourAPP只是占位举例,并不是有这个文件夹。。
【工作区】【VS Code】
{ "folders": [ { "path": "." }, { "path": "../../../zb_system" } ], "settings": { "intelephense.environment.includePaths": [ "../../../zb_system" ] } }
附:开发者工具(应用打包时排除文件):https://app.zblogcn.com/?id=1254
Tange's BLog
【软件工具】
FTP软件推荐使用filezilla
关于Network组件:
// Get $url = ""; $http = Network::Create(); $http->open('GET', $url); // $http->setTimeOuts(10, 10, 0, 0); $http->send(); if ($http->status == 200) { $s = $http->responseText; // debug // ob_clean(); echo __FILE__ . "丨" . __LINE__ . ":<br>\n"; var_dump($s); echo "<br><br>\n\n"; // die(); // debug }
默认GET,对于POST,改对应的open参数,然后将$data(数组)
$http->send($data);
【内置函数封装】
/** * 获取目录下文件夹列表. * * @param string $dir 目录 * * @return array 文件夹列表 */ function GetDirsInDir($dir) {…… } /** * 获取目录下指定类型文件列表. * * @param string $dir 目录 * @param string $type 文件类型,以|分隔 * * @return array 文件列表 */ function GetFilesInDir($dir, $type) {…… }
【JavaScript】【PHP】【语法技巧】
let str = "abc"; alert(`变量str的值是:${str}`); // 在英文输入下,1前边、esc键下边那个键可以输出反引号。
-----------
$str = "abc"; echo "变量$str的值是:{$str}"; // 需要是双引号,本例中不加花括号也是可以的,但是为了严谨请加上,对象属性之类的也可以用{$obj->key}
沉冰浮水 【web环境】 宝塔并不是网站运行环境,而是运行环境管理工具,用到啥再安装啥。。找到对的地方拿鼠标点就行,好像没啥可教的(相对于命令行管理来说)
沉冰浮水 个人习惯上将【运行环境】统称为【空间】,大致分为【独立服务器】【VPS】【虚拟主机】三种,名字中带`云`的其实精略来说也超不出这三种。。
接19楼,【独服】和【VPS】可以装BT面板,数据库是root权限,【数据库名】可任意自定义,【虚拟主机】则是由空间商分配的【用户名】和【数据库名】
【吐槽】【浏览器】【快捷键】
<!--1,361.74 ms , 14 query , 2429kb memory , 3 error-->
浏览器内【右键→查看源代码】
或者直接用快捷键【ctrl+u】
拉到最下边,一般会有如上的注释信息,error数不为零的话:
网站设置→全局设置→开发模式
【应用审核】
函数名应该以应用ID为开头或结尾;
Illegal function name: xxxxxx[] []
【建议】【快捷键】【vscode】
可以在最前边再加个人标识前缀,可以在编辑器中快捷引用。
以下效果在编辑器输入时会自动出现,或者使用快捷键【ctrl+空格】
【main.php保存配置】【代码片段支持】
// $suc只是个人习惯,大部分时候都用不上 $act = GetVars('act', 'GET'); $suc = GetVars('suc', 'GET'); // count($_POST)太不优雅了 if ($act == 'save') { // 安全验证↓这个很重要 CheckIsRefererValid(); foreach ($_POST as $key => $val) { $zbp->Config('APPID')->$key = trim($val); } $zbp->SaveConfig('APPID'); // 重建模板,即使功能上不需要习惯性写上也不会损失什么 $zbp->BuildTemplate(); // 保存后给出操作成功的提示 $zbp->SetHint('good'); // 重定向一次页面,不然地址栏会是main.php?act=save&csrfToken=cbb7ce8bd23 // 一是视觉上乱,二是刷新页面会有重复提交的提示 Redirect('./main.php' . ($suc == null ? '' : "?act=$suc")); }
对应的HTML表单为:
<form action="<?php echo BuildSafeURL("main.php?act=save"); ?>" method="post"> </form>
其实如果用Emmet生成CSS和JS的引入代码是这样的:
<link rel="stylesheet" href="style.css"> <script src=""></script>
不需要多余的属性;
真心建议用Emmet写一份主要的html结构,以后复制也只复制自己的。。
然后其实还可以这样↓
【文件权限】
文件夹:755
文件:644
然后需要注意所有者是www而不是root,尤其是使用sftp上传的文件;
chown -Rv www:www /www/wwwroot/* chmod -Rv 755 /www/wwwroot/* chmod -Rv 644 /www/wwwroot/*.* # 适用于lnmp部署的环境
所以在这层意义上推荐在线安装,只需要保证一个执行文件的权限。