国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
{$site_name}" >{$site_name}
{$blog.title}" >{$blog.title}
·使用tmd_tpl模板引擎之后
·不用tmd_tpl的話,我們來看看Discuz!和DedeCMS的模板。
? php教程 php手冊 TMDPHP 模板引擎使用教程

TMDPHP 模板引擎使用教程

Jun 13, 2016 pm 12:01 PM
php smarty ?? ???? ?? ???? ?? ?? ?? ~? ??? ??

在PHP界談模板引擎,必不可免的要拿Smarty開刀,
這個無比傻帽的卻又帶有一點點官方色彩的模板引擎,
如果沒有我這樣人富有正義感又富有創(chuàng)新精神的熱血青年站出來,
不知道它還要繼續(xù)毒害多少那些處于花季而又對PHP充滿美麗幻想的少年。
1.語法
你真的認為美工學(xué)的了 {foreach key=key item=item from=$contact} 這樣的語法
卻學(xué)不了 $item) { ?> 嗎?
而 {if $name eq "Fred" or $name eq "Wilma"}
又比 優(yōu)秀到哪里去?
首先我對美工會學(xué)Smarty語法始終保持懷疑態(tài)度,至少我工作這么多年還沒遇到過一個會Smarty語法的,
而就算美工愿意學(xué),你又為何不教他正宗的PHP語法,卻要教他一門連你自己搞不清楚的“Smarty語言”
2.可視化
當頁面從美工交接到你手上,然后你給那些完美的網(wǎng)頁,套上那惡心的Smarty代碼,
然后在Dreamweaver里,你是否認真的看過那些頁面已經(jīng)變得何等的丑陋,
圖片還看得見嗎?CSS還在嗎?更不用說include了。而要修改的時候呢?你還能一眼認出來嗎?
這些都解決不了,那些所謂的模板引擎又怎么配得上“強大”二字?
3....
多的我就不說了,這里只是拿Smarty舉個例子,應(yīng)該不難發(fā)現(xiàn),其它模板引擎也大同小異,
都忙著發(fā)明自己的模板語言,而真正需要解決的問題則避而不談,
現(xiàn)在你是否明白了,所謂的模板引擎,所謂的強大,都TMD騙子,
在夜深人靜的夜里,我曾無數(shù)次的醒來,感覺自己的擔子又重了一些,只因為不能夠?qū)⑦@個殘忍的事實告訴你。
于是我痛心疾首,痛下狠心,百忙之中抽空寫了這個命名為tmd_tpl的真正的模板引擎,
雖然也許現(xiàn)在還不算強大,但強大是未來的一種必然。
·tmd_tpl使用入門教程:
接下來我們來學(xué)習(xí)tmd_tpl的使用方法,流程上和其它模板引擎沒什么太大的差別。
一、初始化模板引擎

復(fù)制代碼 代碼如下:


// 將 tmd_tpl 包含進來
require '../tmdphp/tmd_tpl.php'; // 請改為你的tmd_tpl所在路徑
// 實例化 tmd_tpl
$TPL = new tmd_tpl();
// 下面是配置 tmd_tpl
// 指定模板目錄,以斜杠結(jié)尾
$TPL->tpl_dir = './tpl/';
// 指定模板文件擴展名
// 建議以php為后綴,因為這樣在Dreamweaver中php代碼有高亮效果。
// 另外在Chrome瀏覽器中可以直接打開進行預(yù)覽,用IE打開會提示下載。
$TPL->tpl_ext = '.tpl.php';
// 指定編譯后模板的保存目錄
$TPL->cache_dir = './tpl_c/';
// 設(shè)置編譯后文件的有效期,單位:秒
$TPL->cache_time = 0; // 0是每次都重新編譯,-1是永不過期,
// 自定義正則替換
$TPL->my_rep = array(
'~(\.\./)+static/~' => '/proj-1/static/',
// ↑如果項目的訪問地址是 http://localhost/proj-1/
// 自定義替換這里有很多技巧,入門期先不寫出來
);


二、賦值并顯示頁面

復(fù)制代碼 代碼如下:


// 普通賦值
$TPL->assign('site_name', '王道中強流');
$TPL->assign('site_intro', '我是一個PHP程序員,tmd_tpl的作者。');
// 支持數(shù)組
$blog = array(
'title' => '去TMD的Smarty',
'content' => '在講解tmd_tpl的使用方法之前,我要先講講為什么要重新發(fā)明這個輪子。
那我們要從這世界上所謂的PHP模板引擎都為大家做了哪些貢獻說起。
在PHP界談模板引擎,必不可免的要拿Smarty開刀,
這個無比傻帽的卻又帶有一點點官方色彩的模板引擎,
如果沒有我這樣人富有正義感又富有創(chuàng)新精神的熱血青年站出來,
不知道它還要繼續(xù)毒害多少那些處于花季而又對PHP充滿美麗幻想的少年。',
// 目前只支持到二維數(shù)組,一般來說二維已經(jīng)足夠了
'info' => array(
'addtime' => '2012.3.11',
'author' => '王忠強',
'weibo' => 'http://t.qq.com/teeband',
),
);
$TPL->assign('blog', $blog);
// 模板中將演示循環(huán)輸出這個數(shù)組
$links = array(
'腳本之家' => 'http://www.jb51.net',
'素材天下' => 'http://sc.jb51.net/',
'百度' => 'http://www.baidu.com/',
'網(wǎng)址導(dǎo)航' => 'http://www.hao123.com',
'傷不起' => 'http://www.3buqi.com/',
'嘿!' => 'http://www.hei123.net/',
);
$TPL->assign('links', $links);
$TPL->display('index');


三、模板靜態(tài)文件的目錄結(jié)構(gòu)


四、模板篇

復(fù)制代碼 代碼如下:


// 模板中調(diào)用變量


// 調(diào)用數(shù)組

{$blog.title}


// 二維數(shù)組
{$blog.info.author}
// 這些模板引擎的基本功能,在tmd_tpl中也是一樣的。
// 但是循環(huán)和判斷,tmd_tpl觀點是直接用php代碼。沒必要創(chuàng)造個模板語言來實現(xiàn)。
foreach ($links as $name => $url) {
?>
  • {$name}

  • }
    ?>
    // 函數(shù)方面,對目前的tmd_tpl來說,是一個弱項。
    // 還不支持 {$blog.content|nl2br} 這樣子的格式。
    {:nl2br( $blog['content'] )} // 只能這樣
    =nl2br( $blog['content'] )?> // 或者這樣
    // 都將自動轉(zhuǎn)換為

    // 如果調(diào)用的是一些無返回值的函數(shù)
    {~print_r( $blog )}

    tmd_tpl真正的創(chuàng)新之處在于,路徑的轉(zhuǎn)換。
    你可以在Dreamweaver中直接插入圖片,引入CSS,調(diào)用JS,還有包含另一個頁面。

    復(fù)制代碼 代碼如下:


    // 插入圖片

    // 引入CSS

    // 調(diào)用JS

    // 包含一個頁面


    ·使用tmd_tpl模板引擎之后

    查看通過http訪問效果 >點這里

    在Dreamweaver中(這樣子前端人員才有辦法嘛~)

    ?

    在Chrome中(只有include的頁面不能顯示)

    ?

    ·不用tmd_tpl的話,我們來看看Discuz!和DedeCMS的模板。

    Discuz!

    ?

    DedeCms

    ?

    現(xiàn)在你知道那些所謂強大的模板引擎有多可笑了吧?

    還等什么?改變歷史的時刻到了,點擊你手中的鼠標,下載第二代PHP模板引擎tmd_tpl!

    ? ????? ??
    ? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

    ? AI ??

    Undresser.AI Undress

    Undresser.AI Undress

    ???? ?? ??? ??? ?? AI ?? ?

    AI Clothes Remover

    AI Clothes Remover

    ???? ?? ???? ??? AI ?????.

    Video Face Swap

    Video Face Swap

    ??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

    ???

    ??? ??

    ???++7.3.1

    ???++7.3.1

    ???? ?? ?? ?? ???

    SublimeText3 ??? ??

    SublimeText3 ??? ??

    ??? ??, ???? ?? ????.

    ???? 13.0.1 ???

    ???? 13.0.1 ???

    ??? PHP ?? ?? ??

    ???? CS6

    ???? CS6

    ??? ? ?? ??

    SublimeText3 Mac ??

    SublimeText3 Mac ??

    ? ??? ?? ?? ?????(SublimeText3)

    ???

    ??? ??

    ?? ????
    1783
    16
    Cakephp ????
    1728
    56
    ??? ????
    1577
    28
    PHP ????
    1442
    31
    ???
    PHP?? ?? ?? ID? ?? ??? ?????? PHP?? ?? ?? ID? ?? ??? ?????? Jul 13, 2025 am 03:02 AM

    PHP?? ?? ?? ID? ?? ??? Session_id () ??? ???? ???? Session_Start ()? ???? ????? ??????. 1. ??? ????? ?? _start ()? ?????. 2. Session_id ()? ???? ?? ID? ?? ABC123DEF456GHI789? ??? ???? ?????. 3. ??? ?? ??? Session_Start ()? ??????, ???? ???? ?????? ?? ??? ?????? ??? ??????. 4. ?? ID? ??, ?? ?? ? ?? ?? ??? ??? ? ??? ?????? ???????. ??? ???? ????? ID? ????? ?? ? ??? ??????.

    PHP ????? ?? ???? ???? PHP ????? ?? ???? ???? Jul 13, 2025 am 02:59 AM

    PHP ????? ?? ???? ????? Syntax substr (String $ String, int $ start,? int $ length = null) ? substr () ??? ??? ? ??? ??? ???? ??? ??? ?????. ???? ?? ?? ??? ??? ?? ? ?? MB_SUBSTR () ??? ???? ?? ??? ??????. ?? ???? ?? ???? ?? ????? ?? exploit () ?? strtr ()? ???? ?? ?? ??? ?? ??? ?? ??? ?? ??? ? ????.

    PHP ??? ?? ?? ???? ??? ?????? PHP ??? ?? ?? ???? ??? ?????? Jul 13, 2025 am 02:54 AM

    UnitTestingInphPinvolvesVeverifying individualCodeUnitsInitsIntsormeStodStocatchBugSearlyLylyLearLiAberFactoring.1) setupphPunitviacomposer, createEatestDirectory, and ConfigeAuteAutoloadandPhpunit.xml.2) writeTestCases-oct-oct-asserterfat

    PHP?? ???? ??? ???? ?? PHP?? ???? ??? ???? ?? Jul 13, 2025 am 02:59 AM

    PHP?? ?? ???? ??? exploit () ??? ???? ???? ??? ???? ????. ? ??? ??? ?? ??? ?? ???? ?? ???? ??? ??? ?????. ??? Exploit (???, ???, ??)??, ??? ???? ????? ???? ?? ?????, ??? ????? ?? ?? ?????? ??? ?? ?????. ?? ?? $ str = "Apple, Banana, Orange"; $ arr = Explode ( ",", $ str); ??? [ "Apple", "Bana???

    JavaScript ??? ?? : ?? ? ?? JavaScript ??? ?? : ?? ? ?? Jul 13, 2025 am 02:43 AM

    JavaScript ??? ??? ?? ?? ? ?? ???? ????. ?? ???? ???, ??, ??, ?, ???? ?? ? ??? ?????. ?? ????? ?? ?? ? ? ??? ????? ?? ??? ??? ????. ??, ?? ? ??? ?? ?? ??? ??? ??? ???? ??? ??? ???? ??? ?? ??? ????. ?? ? ????? ??? ???? ? ??? ? ??? TypeofNull? ??? ?????? ??? ? ????. ? ? ?? ??? ???? ?????? ????? ???? ??? ???? ? ??? ? ? ????.

    std :: Chrono ?? c std :: Chrono ?? c Jul 15, 2025 am 01:30 AM

    STD :: Chrono? ?? ?? ??, ?? ?? ??, ?? ?? ? ?? ?? ? ?? ?? ??? ???? C?? ???? ??? ?????. 1. std :: chrono :: system_clock :: now ()? ???? ?? ??? ?? ? ??? ?? ??? ???? ?? ? ? ??? ??? ??? ???? ?? ?? ? ????. 2. std :: Chrono :: steady_clock? ???? ?? ??? ???? ?? ??? ???? duration_cast? ?? ?? ?, ? ? ?? ??? ??????. 3. ?? (time_point) ? ?? (??)? ?? ??? ? ? ??? ?? ??? ? ?? epoch (epoch)???? ???????.

    PHP? ?? ??? ?? ???? ???? ??? ?????? PHP? ?? ??? ?? ???? ???? ??? ?????? Jul 13, 2025 am 02:39 AM

    PHP?? ?? ??? ?? ???? ????? ?? ??? ???? ???? ??? $ _session ? ??? ???? ????. 1. ? ???? ?? ??? ???? ?? Session_Start ()? ???? ???? ??? ???????. 2. $ _session [ 'username'] = 'johndoe'? ?? ?? ??? ?????. 3. ?? ????? session_start ()? ?? ? ? ??? ? ??? ?? ??? ???????. 4. Session_Start ()? ? ????? ???? ??? ????, ???? ?? ???? ??, ??? ?? ???? ??? ?? ? ? ??? ??????. 5. SES? ??????

    PHP? ?? ??? ??? ?????? PHP? ?? ??? ??? ?????? Jul 14, 2025 am 03:01 AM

    toaccessenvironmentvariablesinphp, usegetenv () ?? $ _envsuperglobal.1.getenv ( 'var_name') retrievespescificvariable.2. $ _ en v [ 'var_name'] accessesvariablesifvariables_orderinphp.iniincludes "e".setvariablesviacliwithvar = valuephpscript.php, inapach

    See all articles