初学者 Teaching 计划

超级版主 沉冰浮水 2020-5-5 14899

解决某个问题

回答“如何解决某个问题”这一问题

以及如何教人解决问题

哪个更难???

我自己遇到这个问题要怎么解决和怎么教你是两回事,何况很多时候我压根就没遇到过一模一样的问题!!!

-----------------

所以本贴将主要收集一些“教人解决问题”的案(tu)例(cao),然后是类似“你应该知道的 Tips”这样的东西,,大概。。。

SO,我能放弃么。Orz。。。

-------------

「开发者」大概算是进阶建议贴

https://bbs.zblogcn.com/thread-101310.html

-----

wdssmq/test-for-zblog: zblog插件开发演示

https://github.com/wdssmq/test-for-zblog

-------------

主题开发建议参考这个:

mzERK - Z-Blog 应用中心

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

「QQ群:我的咸鱼心」「「水坑」系列教程索引
我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

最后于 2022-7-8 被沉冰浮水编辑 ,原因:
最新回复 (29)
全部楼主
  • 超级版主 沉冰浮水 2020-5-5 0
    引用 2

    [#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

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-11-19 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-5-5 0
    引用 3

    火狐有个功能,查看页面源码时会以红色标识未闭合的HTML标签,虽然现在VSCode之类的编辑器都能很好的自动闭合。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-5-5 0
    引用 4

    【浏览器】【快捷键】
    此楼各种术语以Chromium内核的Microsoft Edge为例,汉化比较充分。
    -----
    f5或者ctrl+r ---------------------- 刷新网页
    ctrl+f5或者ctrl+shift+r ---------- 无视缓存强制刷新
    【作为开发者,则应该考虑CSS或JS增加版本参数,类似zblogphp.js?v=162105】
    ---
    f12  ------  开发人员工具
    【会看这个很重要,或者说知道有这个东西存在很重要】
    ---

    【吐槽】控制台输出的内容可能是折叠的,需要点击展开,类似于:

    ▶ (6) [{…}, {…}, {…}, {…}, {…}, {…}]

    话说三角符号为什么这么大。。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-5-16 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-5-5 0
    引用 5

    【JavaScript】

    JavaScript 教程 - 网道
    https://wangdoc.com/javascript/


    ES6 教程 - 网道

    https://wangdoc.com/es6/

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-5-7 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-5-7 0
    引用 6

    【编辑器】【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

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-11-19 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-5-7 0
    引用 7
    【吐槽】
    注释用的字符请加在行首而不是中间。。。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-5-27 0
    引用 8
    个人习惯上将【运行环境】统称为【空间】,大致分为【独立服务器】【VPS】【虚拟主机】三种,名字中带`云`的其实精略来说也超不出这三种。。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 应用开发者 zbloged 2020-5-27 0
    引用 9
    我一直这样称呼..独立服务器称为独服,VPS或者云服务器称为服务器,虚拟主机称为空间... 从接触互联网之后貌似一直都是这样,大伙貌似也是这么称呼的...
  • 超级版主 沉冰浮水 2020-6-13 0
    引用 10
    一个笑话:
    邻居忘了带钥匙,从我家阳台翻过去,在屋里找到钥匙后,又翻回来,再打开自家房门。
    更令人叫绝的是,我从头至尾在阳台接应着,未觉有不妥之处。
    唉,我俩的脑袋肯定被同一个门缝挤过。

    ↑↑感觉很像是很多人写采集功能时的思路。。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 用户 戴兴华 2020-7-1 0
    引用 11
    哪里可以写博客
  • 超级版主 沉冰浮水 2020-7-13 0
    引用 12

    【软件工具】

    FTP软件推荐使用filezilla

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-7-16 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-8-16 0
    引用 13
    【web环境】
    宝塔并不是网站运行环境,而是运行环境管理工具,用到啥再安装啥。。找到对的地方拿鼠标点就行,好像没啥可教的(相对于命令行管理来说)

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 用户 leostudio 2020-8-31 0
    引用 14
    写的有点难理解。
  • 超级版主 沉冰浮水 2020-10-12 0
    引用 15

    关于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);


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-10-12 0
    引用 16

    【内置函数封装】

    /**
     * 获取目录下文件夹列表.
     *
     * @param string $dir 目录
     *
     * @return array 文件夹列表
     */
    function GetDirsInDir($dir)
    {……
    }
    /**
     * 获取目录下指定类型文件列表.
     *
     * @param string $dir  目录
     * @param string $type 文件类型,以|分隔
     *
     * @return array 文件列表
     */
    function GetFilesInDir($dir, $type)
    {……
    }


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-10-13 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-10-31 0
    引用 17

    【JavaScript】【PHP】【语法技巧】

    let str = "abc";
    alert(`变量str的值是:${str}`); // 在英文输入下,1前边、esc键下边那个键可以输出反引号。

    -----------

    $str = "abc";
    echo "变量$str的值是:{$str}"; // 需要是双引号,本例中不加花括号也是可以的,但是为了严谨请加上,对象属性之类的也可以用{$obj->key}

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-11-4 0
    引用 18
    【关于数据库】【奇妙比喻时间】
    你到某公司上班,分到了一个工位,办公桌下面有一个独立的带轮子的小柜子可以放文件资料,可以类比Access或SqlLite。换工位的话可以连带柜子带走。
    资料比较多小柜子放不下时,办公室某面墙边立着一排四五层高的大文件柜,大部分和你的办公桌在同一个空间内(localhost),也有可能专门放在另一间。——数据库地址
    如果一整个文件柜你都能用,,那么你的用户名就是root,可以自由给每一个小格子按用途贴标签——数据库名。
    如果只是其中一个或几个格子给你用,那么用户名就是[公司/部门代码+工位号+部分自定义],数据库名同理。

    数据库名就像是柜子单元格的编号,密码则是钥匙,对于实际的文件柜这样就足够了,两把形状上定义为不同的钥匙能换着用的概率上有,但是毕竟较少遇到。包含大部分路由器这样的设备,密码强度够的话用户名其实可有可无,相当于把密码拆分成了两段输入。

    但是在程序设计上,同一个用户可以拥有多个数据库的权限,所以在选定要访问的数据库时,需要再同时提供用户名和密码来确认你有该数据库的权限。。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-11-6 0
    引用 19
    沉冰浮水 【web环境】 宝塔并不是网站运行环境,而是运行环境管理工具,用到啥再安装啥。。找到对的地方拿鼠标点就行,好像没啥可教的(相对于命令行管理来说)
    沉冰浮水 个人习惯上将【运行环境】统称为【空间】,大致分为【独立服务器】【VPS】【虚拟主机】三种,名字中带`云`的其实精略来说也超不出这三种。。

    接19楼,【独服】和【VPS】可以装BT面板,数据库是root权限,【数据库名】可任意自定义,【虚拟主机】则是由空间商分配的【用户名】和【数据库名】

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-11-10 0
    引用 20

    【吐槽】【浏览器】【快捷键】

    <!--1,361.74 ms , 14 query , 2429kb memory , 3 error-->

    浏览器内【右键→查看源代码】

    或者直接用快捷键【ctrl+u】

    拉到最下边,一般会有如上的注释信息,error 数不为零的话:

    网站设置→全局设置→开发模式

    如果调用开发模式后页面并没有报错,但是仍然有 error 信息的话,则在 zb_users/logs 里查看具体错误原因;

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2022-7-8 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-11-19 0
    引用 21

    【应用审核】

    函数名应该以应用ID为开头或结尾;

    Illegal function name: xxxxxx[] []

    【建议】【快捷键】【vscode】

    可以在最前边再加个人标识前缀,可以在编辑器中快捷引用。

    以下效果在编辑器输入时会自动出现,或者使用快捷键【ctrl+空格】


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-12-6 0
    引用 22

    【关于 zblog 如何正确的启用 SSL 或更换域名】

    1、不要开 301;
    2、网站设置→基础设置→网站地址,确保固定域名选项是关闭状态,如果没看到这个按钮也不用管;
    3、使用新域名/正确部署 SSL 后的地址登录后台;
    4、网站设置→基础设置→网站地址;
    5、保持固定域名选项关闭!保持固定域名选项关闭!保持固定域名选项关闭!
    6、点一下提交;


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2022-6-5 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-12-6 0
    引用 23
    【网站面板】
    新建的网站自动生成的index.html等首页文件,请先删除掉再加网站程序进去。否则zblog的伪静态会有影响。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-12-6 0
    引用 24

    【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>


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    最后于 2020-12-7 被沉冰浮水编辑 ,原因:
  • 超级版主 沉冰浮水 2020-12-14 0
    引用 25

    其实如果用Emmet生成CSS和JS的引入代码是这样的:

    <link rel="stylesheet" href="style.css">
    <script src=""></script>

    不需要多余的属性;

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-12-15 0
    引用 26

    真心建议用Emmet写一份主要的html结构,以后复制也只复制自己的。。

    然后其实还可以这样↓

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2020-12-19 0
    引用 27

    【文件权限】

    文件夹:755

    文件:644

    然后需要注意所有者是www而不是root,尤其是使用sftp上传的文件;

    chown -Rv www:www  /www/wwwroot/*
    chmod -Rv  755 /www/wwwroot/*
    chmod -Rv  644 /www/wwwroot/*.*
    # 适用于lnmp部署的环境

    所以在这层意义上推荐在线安装,只需要保证一个执行文件的权限。

    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2021-7-10 0
    引用 28

    【主题】【常用代码】

    文章页输出 tag 

      {if Count($article.Tags)>0}
      <h5 class="post-tags">标签:{foreach $article.Tags as $tag}<a href="{$tag.Url}" title="{$tag.Name}">{$tag.Name}</a>&nbsp;{/foreach}</h5>
      {/if}


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2022-5-18 0
    引用 29

    【main.php】

    后台的布局设计很丑,然而新版还在「考虑中」。。

    在一些小屏幕上,配置页最后的那一行内容可能是紧贴着浏览器底部的,感觉会略不舒服,加点儿补白可以缓解;

    <style>
      #divMain {
        padding-bottom: 2rem;
      }
    </style>
    <div id="divMain">
      ………………
    </div>


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

  • 超级版主 沉冰浮水 2022-7-6 0
    引用 30

    模板标签与对象

    PHP: PHP 手册 - Manual:https://www.php.net/manual/zh/

    Learn PHP in Y Minutes:https://learnxinyminutes.com/docs/zh-cn/php-cn/


    模板标签 - 模板书写 - 主题开发:

    https://docs.zblogcn.com/php/#/books/dev-10-theme?id=%e6%a8%a1%e6%9d%bf%e6%a0%87%e7%ad%be

    在 Z-BlogPHP 模板中,可通过{$var}{$obj.a}来输出「文本或数字类型」的「变量或对象属性」,其中后者会编译为<?php echo $obj->a;?>


    Z-BlogPHP 的模板语法本质是对 PHP 的简化,不要有不需要懂 PHP 的误解;

    $obj 就是一个对象;

    $obj->Name 是一个对象属性;

    $obj = $zbp->GetXXX("XXX"); // 实际可能返回的是包含多个对象成员的数组 echo $obj->Name ;

    等于下边:

    // 实际上还是建议像上边先赋值给一个变量 echo $zbp->GetXXX("XXX")->Name;

    $category.Name本质上就是$category->Name$category在对应模板中已经由外部赋值初始化;

    对于$zbp->GetXXX("XXX");,如果这个函数的返回值$category衍生自同一个对象,那么它们具体相同的属性和方法;


    「QQ群:我的咸鱼心」「「水坑」系列教程索引
    我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

    • ZBlogger技术交流中心
      31
          
返回