成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Just for fun——PHP框架之簡單的模板引擎

X1nFLY / 2595人閱讀

摘要:原理使用模板引擎的好處是數(shù)據(jù)和視圖分離。對于循環(huán)語句怎么辦呢這個的話,請看流程控制的替代語法

原理

使用模板引擎的好處是數(shù)據(jù)和視圖分離。一個簡單的PHP模板引擎原理是

extract數(shù)組($data),使key對應(yīng)的變量可以在此作用域起效

打開輸出控制緩沖(ob_start)

include模板文件,include遇到html的內(nèi)容會輸出,但是因為打開了緩沖,內(nèi)容輸出到了緩沖中

ob_get_contents()讀取緩沖中內(nèi)容,然后關(guān)閉緩沖ob_end_clean()

實現(xiàn)

封裝一個Template

templatePath = $path;
    }

    /**
     * 設(shè)置模板變量
     * @param $key string | array
     * @param $value
     */
    public function assign($key, $value) {
        if(is_array($key)) {
            $this->data = array_merge($this->data, $key);
        } elseif(is_string($key)) {
            $this->data[$key] = $value;
        }
    }


    /**
     * 渲染模板
     * @param $template
     * @return string
     */
    public function display($template) {
        extract($this->data);
        ob_start();
        include ($this->templatePath . $template);
        $res = ob_get_contents();
        ob_end_clean();
        return $res;
    }

}
測試

test.php

setTemplatePath(__DIR__ . "/template/");
 $template->assign("name", "salamander");
 $res = $template->display("index.html");


 echo $res;

template目錄下index.html文件




    
    模板測試
    


    

Tip

為什么display要返回一個字符串呢?原因是為了更好的控制,嵌入到控制器類中。
對于循環(huán)語句怎么辦呢?這個的話,請看流程控制的替代語法

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/26083.html

相關(guān)文章

  • Just for fun——PHP框架簡單路由器(2)

    改進 緊接上一篇文章Just for fun——PHP框架之簡單的路由器(1)。代碼下載 效率不高原因 對于以下合并的正則 ~^(?: /user/([^/]+)/(d+) | /user/(d+) | /user/([^/]+) )$~x 最終匹配的是分組中的某一個,我們需要的子匹配也是那個分組中的,然而從結(jié)果看 preg_match($regex, /user/niki...

    tomato 評論0 收藏0
  • Just for fun——Slim借力Swoole

    摘要:的話,是一個遵循規(guī)范微型的框架,作者這樣說大致意思的核心工作分發(fā)了請求,然后調(diào)用回調(diào)函數(shù),返回一個對象。執(zhí)行的方法時,我們從中取出的依賴,這時候,注冊的回調(diào)函數(shù)被調(diào)用,返回實例。 Slim Slim的話,是一個遵循PSR (PSR-7)規(guī)范微型的框架,作者這樣說: Slim is a PHP micro framework that helps you quickly write si...

    leejan97 評論0 收藏0
  • Just for fun——PHP框架簡單路由器(1)

    摘要:路由路由的功能就是分發(fā)請求到不同的控制器,基于的原理就是正則匹配。 路由 路由的功能就是分發(fā)請求到不同的控制器,基于的原理就是正則匹配。接下來呢,我們實現(xiàn)一個簡單的路由器,實現(xiàn)的能力是 對于靜態(tài)的路由(沒占位符的),正確調(diào)用callback 對于有占位符的路由,正確調(diào)用callback時傳入占位符參數(shù),譬如對于路由:/user/{id},當請求為/user/23時,傳入?yún)?shù)$args...

    smallStone 評論0 收藏0
  • Just for fun——Docker做個NMP環(huán)境

    摘要:總之,是用來管理多個容器的,用都會寫一個開啟所有服務(wù)關(guān)閉所有服務(wù)上面說了,關(guān)鍵是編排好,以下就是的目錄結(jié)構(gòu)訪問在目錄下運行命令,在瀏覽器訪問可以看到講解和都是用了官方的鏡像,而是從本地構(gòu)建的。 Docker Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,...

    用戶84 評論0 收藏0

發(fā)表評論

0條評論

X1nFLY

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<