「折腾」Z-BlogPHP 模板机制讲解「简易版」

吐槽/反馈/建议:我的咸鱼心    爱发电-@wdssmq

例行中二时间

好像确实会不少东西,然而日常不知道有什么意义;

Z-BlogPHP 模板语法汇总:

https://docs.zblogcn.com/php/markup/

「小目标」平均每篇文章/Git Repository 赚取 1 元_杂七杂八_沉冰浮水:

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

PHP 可变变量(动态变量)

// 零 - index.php
echo "<h3>零</h3>";
$animal = 'turtles';
$turtles = 103;
print $$animal;
// 此处输出效果同:
// print $turtles

利用该语法可以将视图层(View)独立出来,既实现「模板机制」;

参考: 「PHP: 可变变量 - php.net」 「MVC 框架_百度百科」 ;

正文

注:注释中- index.php部分表示该代码应该放在哪个文件里;

// 用于展示的数据 - index.php
$tags = array(
  "blog" => "https://www.wdssmq.com",
  "name" => "沉冰浮水",
  "afdian" => "https://afdian.net/@wdssmq"
);

将上边数组的每一项输出为一个段落;

// 一 - index.php
echo "<h3>一</h3>";
foreach ($tags as $key => $value) {
  echo "<p>{$key}:{$value}</p>";
}

// 二 - index.php
echo "<h3>二</h3>";
foreach ($tags as $key => $value) {
  $$key = $value;
}
echo "<p>name:{$name}</p>";
echo "<p>blog:{$blog}</p>";
echo "<p>afdian:{$afdian}</p>";

方法「一」是比较基本的循环用法,输出顺序和变量赋值时的元素顺序一致;

方法「二」则使用「可变变量」语法为数组中的每个元素创建了一个单独的变量,变量名为各数组元素的键名(字段名);

然后在输出时调整了顺序,从而不需要关心原始定义;

// 三 - index.php
echo "<h3>三</h3>";
foreach ($tags as $key => $value) {
  $$key = $value;
}
include "user-info-3.php";

继续在「index.php」中添加如上代码,然后在同一级目录内,创建「user-info-3.php」并添加如下代码;

<?php
// 3 - user-info-3.php
echo "<p>name:{$name}</p>";
echo "<p>blog:{$blog}</p>";
echo "<p>afdian:{$afdian}</p>";

继续改进:

// 四 - index.php
echo "<h3>四</h3>";
foreach ($tags as $key => $value) {
  $$key = $value;
}
include "user-info-4.php";

注意,上边全部写入「index.php」或「user-info-3.php」的代码都是在<?php内的;

小知识:对于 PHP 语法记<?php ?>,在不需要中途闭合以插入 HTML 时,用于结束的?>是可以省略的;

下边用于「user-info-4.php」文件的代码,是直接以 HTML 为主体的,仅在变量输出部分使用 PHP 语法;

<!-- 4 - user-info-4.php -->
<p>name:<?php echo $name; ?></p>
<p>blog:<?php echo $blog; ?></p>
<p>afdian:<?php echo $afdian; ?></p>

某种意义上,「// 用于展示的数据 - index.php」「// 四 - index.php」「<!-- 4 - user-info-4.php -->」三处注释所指代的代码组成及机制就是一个简单的模板语法实现;

然而在 HTML 中插入 PHP 语法仍然不是很方便,而且实际上,「<!-- 4 - user-info-4.php -->」部分的代码是由如下代码转换而来:

 <!-- 4 - user-info-4.php -->
<p>name:{$name}</p>
<p>blog:{$blog}</p>
<p>afdian:{$afdian}</p>

↑ 而这也是 Z-BlogPHP 所采用的「模板标签」语法;

参考: 「主题开发 - Z-BlogPHP 文档」 「模板标签 - 主题开发 - Z-BlogPHP 文档」 ;

附件下载

链接: https://pan.baidu.com/s/19wH0sg5mXnY50Gue4ordlw

提取码: 4gaa

内含两个压缩包,一个是本页教程直接涉及的代码(未加密),另一个则包含凝练提取的 Z-BlogPHP Template 类及注解(加密);

密码获取方案如下:

「- -」「- -」「- -」

「折腾」Z-BlogPHP 模板机制讲解丨沉冰浮水丨爱发电:

https://afdian.net/p/5e8460cefdbc11eb80a152540025c377

↑ 自选金额大概也可以解锁吧;

「- -」「- -」「- -」

关注微信公众号:「水水不想说」;

发送口令。。不,其实什么也不用发,甚至这个公众号也不需要关注,这里并没有密码;

「- -」「- -」「- -」

使用 RSS 订阅本博客;

沉冰浮水-FeedsPub

密码被拆成了两部分,格式为「php-tpl-xxxx」,总长度 8 位——「1\*\*\*\*e\*\*\*\*」;

【言说】RSS 是一种态度!!_杂七杂八_沉冰浮水

「年度套路」水水名下 Z-Blog 应用打包赠送_杂七杂八_沉冰浮水


爱发电

本文标题:《「折腾」Z-BlogPHP 模板机制讲解「简易版」》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20201026266.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

召唤伊斯特瓦尔