寫一個屬於自己的模板引擎【一】
參考文件《毛毛蟲教你寫一個屬於自己的模板引擎》,自己也模仿著寫一遍,原諒我比較懶,具體詳解請百度原作者作品。
stupid.class.php
<?php define('TPL_DIR','./templates/'); define('TPL_C_DIR','./templates_c/'); class Stupid{ private $_tpl_vars; //模板變數 private $_tpl_file; //模板檔名 private $_parser; //編譯物件 private $_debugger; //除錯物件 public function Stupid(){ if( !is_dir(TPL_DIR) || !is_dir(TPL_C_DIR) ){ exit("錯誤:請正確設定模板檔案和編譯資料夾!"); } } //assign public function assign($var,$value){ if( isset($var)&&trim($var)!='' ){ $this->_tpl_vars[$var] = $value; }else{ exit("錯誤:請設定變數名!"); } } //display public function display($tpl_file){ $template_file = TPL_DIR.$tpl_file."php"; if( !file_exists($template_file) ){ exit("模板檔案不存在!"); } $parsed_file = TPL_C_DIR.md5($tpl_file)."php"; //編譯模板檔案 if( !file_exists($parsed_file) || filemtime($parsed_file)<filemtime($template_file) ){ require_once './stupid_parser.class.php'; $this->_parser = new StupidParser(); $this->_parser->compile($tpl_file); } include $parsed_file; } //debug()方法 public function debug($tpl_file){ if( include_once("stupid_debugger.class.php") ){ $this->_debugger = new StupidDebugger($tpl_file); $this->_debugger->start(); }else{ exit("錯誤:Debugger類不存在"); } } }
相關推薦
寫一個屬於自己的模板引擎【一】
參考文件《毛毛蟲教你寫一個屬於自己的模板引擎》,自己也模仿著寫一遍,原諒我比較懶,具體詳解請百度原作者作品。 stupid.class.php <?php define('TPL_DIR','
寫一個屬於自己的PHP的MVC框架(一)
最近想做個PHP的個人部落格作為學習用,但是發現儘管把PHP函式用得很熟悉了,按照常規的辦法,寫一個頁面處理一個請求,僅僅一個部落格就可能有很多個頁面,而且php程式碼和html程式碼都結合的非常緊密,如果想要實現更換面板的功能,就顯得非常無力。在網上找了好多framework框架,但似乎又要開始學
寫一個屬於自己的PHP的MVC框架(二)
第一篇文章已經把所需的目錄搭建好了,接下來的工作就是寫一些程式碼了 用編輯器開啟public/index.php檔案,寫上下面的程式碼 <?php define(DS, DIRECTORY_SEPARATOR); define(ROOT, dirna
如何寫一個屬於自己的查成績app
一、準備工作 準備工具:電腦 軟體:Fiddler 4(哪個都行,只要抓包) 開啟我們學校的教務網站http://202.192.240.29/login!welcome.action 點選驗證碼框,會向伺服器傳送get請求,這是我抓到的請求內容 伺服器返回的是一個
寫一個簡單的模板引擎
寫一個簡單的模板引擎 ES5 開始支援模板字串(Template literals),支援如下的寫法: `string text ${expression} string text`; 其實在很多模板引擎中,常常會有這樣需求,比如常用的 doT,使用類似的語法 <div>{{=1+2}}</
設計模式 - 動態代理原理及模仿JDK Proxy 寫一個屬於自己的動態代理
本篇文章程式碼內容較多,講的可能會有些粗糙,大家可以選擇性閱讀。 本篇文章的目的是簡單的分析動態代理的原理及模仿JDK Proxy手寫一個動態代理以及對幾種代理做一個總結。 對於代理模式的介紹和講解,網上已經有很多優質的文章,我這裡就不會再過多的介紹了,這裡推薦幾篇優質的文章作為參考: 給女朋友講解什麼
1000行代碼徒手寫正則表達式引擎【1】--JAVA中正則表達式的使用
基礎上 unicode 要求 [1] 分配 find 通過 images char 簡介: 本文是系列博客的第一篇,主要講解和分析正則表達式規則以及JAVA中原生正則表達式引擎的使用。在後續的文章中會涉及基於NFA的正則表達式引擎內部的工作原理,並在此基礎上用1000行左右
【微信開發】02.搭建一個屬於自己的微信公眾平臺
tro 投票 新浪 關系 blank 訂閱 logs name 開發者 閱讀目錄 【網站開發】在新浪SAE上搭建一個博客 概述 公司年會上同事開發了一個微信企業號,包含了投票,抽獎,祝福墻功能,還開了一個Session,跟我們講了下公司的企業號開發過程和抽獎中獎
如何寫一個給自己的框架寫一個優雅的Java Config模組(一)
Build設計模式 配置模組化 用build設計模式將配置模組化。 配置的依賴關係管理 主從模式 可以暫時先看下面的主從從模式。 單屬性配置 httpSecurity.authorizeRequests().regexMatch
實驗一:寫一個hello world小程式【實驗樓系列shiyanlou.com】
1、 實驗思路和具體過程簡述: 利用~/ $ cd開啟實驗目錄 利用mkdir命令建立實驗資料夾 使用vim建立hello.c 在GCC中編譯hello.c檔案 執行編譯後的可執行檔案 上傳程式
MVC學習筆記(一) 建立一個屬於自己的MVC專案
學習MVC兩個來月了,終於決定最個能讓自己滿意的MVC.於是,在cnblog的洞庭夕照大大的MVC5網站開發實踐的幫助下,開始了MVC之路 再次感謝洞庭夕照大大,框架就直接按洞庭夕照大大的來了.. 專案名字就叫FantasyCMS好了.取自FINAL FANTASY遊戲
Linux系統安裝,教你安裝一個屬於自己的Linux系統——(一)
一、Linux的簡介 1.Linux抽象解釋 肯定有人和我一樣,很早就聽說過Linux的這個詞,但是又沒接觸過。然後隨手百度一下看著滿滿的命令驚呆了,不知道從哪裡開始學習。這種狀況一直維持到我面試的時候,我不怕跟你們說,我
一款屬於自己的筆記本【vue+gin+elementUI前後端分離開發部署開源專案】
前言 我為什麼要寫一個個人的雲筆記? (⊙o⊙)…額額額
第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬於自己的工程並安裝Genymotion模擬器
人性 pro net 參考 json irb 一個地方 vid 調試 【聲明】 歡迎轉載,但請保留文章原始出處→_→ 生命壹號:http://www.cnblogs.com/smyhvae/ 文章來源:http://www.cnblogs.com/smyhvae/p/439
如何擁有一個屬於自己的網站
網站 需要 article .com 不知道 *** 轉載 大型 滿足 前言 網站顧名思義就是網上的一個站點 而你打開的頁面就是一個站點上的一個一個文件。那就有人問了,我有一臺可以上網的計算機可不可以當站點用呢?答案是肯定的 通俗點來講就跟你平時串門一樣 這家門開著你就可
企業為什麽要做一個屬於自己的營銷網站?
itl 方式 營銷推廣 理由 沒有 適用於 才會 欲望 項目 做網站優化是不區分行業的,也就是說SEO適用於所有行業。有人認為隔行如隔山,這句話沒錯,但吖七認為,SEO不只是一種技術而應該是一種思維,換句話講做SEO是做營銷,而營銷思維主導著一家企業的生死。服務行業seo策
直播源碼如何搭建一個屬於自己的直播平臺?
直播源碼 直播系統 直播軟件 現在直播非常火爆,可以從PC或手機直播,然後從PC或是手機或是 支持HTML5的瀏覽器 收看。但是,你知道直播平臺後面的技術和實現原理碼?正好去年過年的時候,一個朋友破解了AirPlay和Chromecast協議,然後開發了一套技術能夠截獲和播放任何手機(iOS或是A
Asp.net MVC 搭建屬於自己的框架(一)
C4D pagedlist del tran 6.0 ext 才有 應該 frame 網址:https://www.cnblogs.com/sggx/p/4555255.html 為什麽要自己搭框架? 大家夥別急,讓我慢慢地告訴你!大家有沒有這種感覺,從一家跳槽到另一家
小白如何花費幾十元搭建一個屬於自己的網站!
摘要: 1.域名在騰訊雲、阿里雲等購買一個域名,學生只需十塊左右;2.虛擬主機選擇一個合適自己的虛擬主機,以騰訊云為例,基礎版只要19.6rmb/月;3.網站備案備案步驟如下;4.域名解析解析後可通過網路訪問你的網站,直接購 ...
簡單MVP+RxJava2+Retrofit2 搭建一個屬於自己的開發框架
一:序言 2016年安卓熱門詞彙MVP,RxJava,Retrofit。時隔一年這些框架依然是很常用的,現在來把這幾個關鍵詞整合起來,搭建一個快速開發框架。。。 二: MVP是什麼? 對於一些剛學安卓的朋友們應該還不是太熟悉,我們先來溫習一下吧! 這