沉冰浮水

沉冰浮水

做最终到的事,成为最终成为的人!
github
bilibili
mastodon
zhihu
douban

「水坑」Z-BlogPHP 模板機制講解「簡易版」

例行中二時間#

好像確實會有不少東西,然而日常不知道有什麼意義;

推薦閱讀#

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 訂閱本博客;

[ShortSth

][/ShortSth]

密碼被拆成了兩部分,格式為「php-tpl-xxxx」,總長度 8 位 ——「1\*\*\*\*e\*\*\*\*」;

「言說」RSS 是一種態度!!_雜七雜八_沉冰浮水

「年度套路」水水名下 Z-Blog 應用打包贈送_雜七雜八_沉冰浮水

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。