自定義模板引擎

2021-08-09 08:52:33 字數 2609 閱讀 1808

類檔案my/config.class.php

<?php

class

smarty

// 呼叫模板

public function

display

($temp)

/'; $reg

= '/\/';

/* 替換成

<?php echo $this->arr['']?>

模式單元雙引號加

\\*/

$place

= "<?php echo

\$

this->arr['

\\

1'] ?>";

// 獲取替換後的**

$html

= preg_replace

($reg

, $place

, $str);

// 編譯檔案

( 模板檔案

.php)

file_put_contents

($comfile

, $html);

} include_once

$comfile;

} }

模板檔案my/templaces

html

>

<

html

lang=

"en"

>

<

head

>

<

meta

charset=

"utf-8"

>

<

title

>

title

title

>

<

body

> 變數

}-->

body

>

html

>

引用檔案my/templaces_c

<?php

header

("content-type:text/html;charset=utf-8");

/*** created by phpstorm.

* user: lanouhn

* date: 2017/10/12

* time: 11:46

*/include_once

'config/smarty.class.php';

$smarty

= new

smarty

();

$title = '

只有學習讓我快樂';

$content = '

我愛php';

$aa = '

我愛php';

// 向模板中分配變數

$smarty

->

assign

('hello'

,$title);

$smarty

->

assign

('content'

,$content);

$smarty

->

assign

('haha'

,$aa);

$smarty

->

display

('01.html');

編譯檔案0.1.php

<?php

header

("content-type:text/html;charset=utf-8");

/*** created by phpstorm.

* user: lanouhn

* date: 2017/10/12

* time: 11:46

*/include_once

'config/smarty.class.php';

$smarty

= new

smarty

();

$title = '

只有學習讓我快樂';

$content = '

我愛php';

$aa = '

我愛php';

// 向模板中分配變數

$smarty

->

assign

('hello'

,$title);

$smarty

->

assign

('content'

,$content);

$smarty

->

assign

('haha'

,$aa);

$smarty

->

display

('01.html');

自定義模板

規則 不管是函式末班還是類模板,在證明或定義時,只能在全域性命名空間或類範圍內進行,不能在區域性範圍內,不能在函式內 包括main函式 宣告或定義乙個模板。模板定義完成後,使用時需要進行例項化操作,編譯器在編譯時會確認模板引數具體時間哪種型別的,這個過程稱為模板的實力化 函式模板的標準定義如下 te...

自定義模板

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

php簡單的自定義模板引擎類。

class mytpl public function assign tpl var,value null public function display filename comfilename this compile dir.com filename.php if file exists co...