搜尋
php模版解析類
<?php
class Parser
{
  private $_tpl;
  public function __construct($_tplFile)
  {
    if (! $this->_tpl = file_get_contents($_tplFile)) {
      exit('ERROR:模版文件读取错误');
    }
  }
  private function parvar()
  {
    $_patten = '/<!--\s+\{$([\w]+)\}\s+-->/';
    if (preg_match($_patten,$this->_tpl)) {
      $this->_tpl = preg_replace($_patten, "<?php echo $this->_vars[''];?>",$this->_tpl);
    }
  }
  private function parif(){
    $_pattenif = '/<!--\s+\{if\s+$([\w]+)\}\s+-->/';
    $_pattenElse = '/<!--\s+\{else\}\s+-->/';
    $_pattenEndif = '/<!--\s+\{\/if\}\s+-->/';
    if (preg_match($_pattenif,$this->_tpl)) {
      if (preg_match($_pattenEndif,$this->_tpl)) {
        $this->_tpl = preg_replace($_pattenif,"<?php if ($this->_vars['']){?>",$this->_tpl);
        $this->_tpl = preg_replace($_pattenEndif,"<?php } ?>",$this->_tpl);
        if (preg_match($_pattenElse,$this->_tpl)) {
          $this->_tpl = preg_replace($_pattenElse,"<?php }else{?>",$this->_tpl);
        }
      }else{
        echo 'ERROR:IF语句没有关闭!';
      }
    }
  }

接收模版檔案內容後,建構方法,取得模版檔案內容解析後用普通變數解析IF語句,之後解析模版檔案產生編譯檔。

免責聲明

本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn

相關文章

Java設計模式之模版方法模式解析Java設計模式之模版方法模式解析

09May2024

模板方法模式是一種行為設計模式,它定義了演算法的骨架,部分步驟由子類別實現。 (1)它包含抽象類別(定義骨架)和具體類別(實作特定步驟)。 (2)抽象類別定義公共操作和鉤子方法。 (3)具體類別覆蓋鉤子方法以自訂行為。 (4)優點包括可重複使用性、彈性、擴充性。 (5)限制包括複雜性和效能開銷。

php解析html類別庫simple_html_domphp解析html類別庫simple_html_dom

08Aug2016

:這篇文章主要介紹了php解析html類別庫simple_html_dom,對於PHP教學有興趣的同學可以參考一下。

PHP 函數與類別的深層解析PHP 函數與類別的深層解析

04May2024

PHP函數透過按值或按引用傳遞參數,實現參數傳遞。 PHP類別提供繼承和多態,允許子類別重複使用基底類別程式碼,並做出不同的反應。在實戰案例中,註冊函數使用類別建立並保存使用者對象,展示了函數和類別在實際中的應用。具體包括:1.註冊函數實作參數驗證、建立使用者物件、儲存到資料庫並傳回使用者物件;2.使用者類別包含使用者名稱、密碼和郵箱屬性,並提供建構子初始化屬性。

php實作的mongoDB單例模式操作類別的相關講解php實作的mongoDB單例模式操作類別的相關講解

29Jun2018

這篇文章主要介紹了php實現的mongoDB單例模式操作類別,結合實例形式分析了php基於單例模式操作MongoDB資料庫的資料庫封裝類別相關實作技巧,需要的朋友可以參考下

PHP物件導向程式設計中的抽象類別解析PHP物件導向程式設計中的抽象類別解析

11Aug2023

PHP物件導向程式設計中的抽象類別解析抽象類別是PHP物件導向程式設計中一個重要的概念,它提供了一種用於定義介面的機制,同時也允許部分方法的實作。本文將對抽象類別的定義、使用場景以及程式碼範例進行解析。一、抽象類別的定義抽象類別是指一種特殊的類,它不能被實例化,只能被繼承。抽象類別中可以包含抽象方法以及普通方法。抽象方法必須在具體的子類別中被實現,而普通方法可以有預設的實現或被覆

解析PHP閉包及Clourse類別方法的作用解析PHP閉包及Clourse類別方法的作用

05Feb2022

在 PHP 裡所有的閉包都是 Clourse 類別實例化的對象,也就是說閉包與其他 PHP 物件沒有什麼不同。而一個物件必然有其方法和屬性,這篇文章將總結 PHP 中閉包的基礎用法和 Clourse 類別方法的作用。

See all articles