「水坑」Z-BlogPHP 模板机制讲解「简易版」

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

例行中二时间

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

推荐阅读

Z-BlogPHP 模板语法汇总:

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

为什么叫「水坑」见: 「水坑」系列教程索引

「水坑」系列文章列表: /tag/GesF-Force/

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 订阅本博客;

沉冰浮水-innoreader

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

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

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


爱发电

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

分享到微信

扫描二维码

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

相关文章

发表评论:

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

网站分类

搜索

本周旧文

2024 年了,姑且备份下嘟特存档。。

……,一个不知名的小众样式库 + 内联样式混写这种入坑姿势确实很有槽点,但是,「已经开始学」并且能够持续是绝对值得肯定的。。

在贴吧看过很多提问了,就有种错觉:好多人为了提一个问题专门注册了贴吧,问题本身可能得到有效回答,也可能没有(和提问的点及具体姿势有关。。但无论如何,之后就和注销了账号一样没有然后了,好像之后永远不用学相应的东西一样。。

《恶魔娃娃》

- 他们正研究你究竟是真正的大人,还是伪装成大人的小孩

- 我自己都研究很久了

乐高 DC 里,(基本就蝙蝠侠家,,年龄最小的那个无论是谁感觉人设都会变得一样 - -

所以,就感觉和祥林嫂一样,每天都需要向外「签到」自己的情绪感受,然而又并没有什么「需要」我这样的签到……

只要梦里出现学校的概念,形式和反抗好像也都不重要了,,天还没亮,骑自行车去上学,没走多远「想起来」并不需要上学的,下来搬起车原地调头然后推回家。。

《K 星异客》里,「青鸟」真的是等来的,或者说是突然出现然后引发改变的外部因素。。。

梦的最后也是又一次意识到教室里的同学只是幻境中的投影,被困住的只有我;虽然也终于总结出,在梦里从来没有和同学的投影有过冲突和争执,甚至还附和我反驳「管理者」身份被进一步放大并不特指某一个人的老师。。

就和大脑会突然播放某一首歌一样,「讨厌自己」这句话也是自己突然就会播放一次,然后频率更高。。

学校,学校,学校,总是梦到学校,,就好像灵魂被诅咒禁固一样。。

爱发电支持者

最新留言

友情链接

  • 订阅本站的 RSS 2.0 新闻聚合
召唤伊斯特瓦尔