明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

PHP.MVC的模板標(biāo)簽系統(tǒng)(5)

[摘要]建立模板標(biāo)簽系統(tǒng)應(yīng)用程序 建立模板標(biāo)簽系統(tǒng)應(yīng)用程序只需幾個(gè)步驟. 注意:以下步驟假設(shè)使用了新的SleeK例子應(yīng)用程序(這個(gè)例子可以在www.phpmvc.net上找到).修改應(yīng)用程序的b...
 

建立模板標(biāo)簽系統(tǒng)應(yīng)用程序

    建立模板標(biāo)簽系統(tǒng)應(yīng)用程序只需幾個(gè)步驟.
    注意:以下步驟假設(shè)使用了新的SleeK例子應(yīng)用程序(這個(gè)例子可以在www.phpmvc.net上找到).

修改應(yīng)用程序的boot.ini文件

    應(yīng)用程序的boot.ini文件包含需要得到PHP.MVC框架的信息.boot.ini文件通常位于應(yīng)用程序的"WEB-INF"目錄下.為了設(shè)置應(yīng)用程序使用模板標(biāo)簽類,我們需要在boot.ini文件中定義一些屬性.

TagActionDispatcher類

    TagActionDispatcher是ActionDispatcher類的標(biāo)準(zhǔn)實(shí)現(xiàn).為了讓框架能讀取TagActionDispatcher類,我們?yōu)樽兞?#36;appServerRootDir設(shè)置值為'TagActionDispatcher':
// Setup the application specific ActionDispatcher (RequestDispatcher)
 $actionDispatcher = 'TagActionDispatcher';

模板標(biāo)簽系統(tǒng)庫(kù)根目錄

    我們也需要設(shè)置路徑指向我們的PHP.MVC庫(kù)(需要文件系統(tǒng)的絕對(duì)路徑):
// Set php.MVC library root directory (no trailing slash).
 $appServerRootDir = 'C:\WWW\phpmvc-base';

可選設(shè)置

    應(yīng)用程序定時(shí)器可以使用$timerRun屬性來(lái)設(shè)置開(kāi)或關(guān):
// Timer reporting. 1=on, 0=off
 $timerRun = 1;
    還可以指導(dǎo)框架總是(強(qiáng)制)編譯應(yīng)用程序phpmvc-config.xml配置類(最好用在開(kāi)發(fā)階段,因?yàn)闀?huì)比較慢),我們使用:
// The application XML configuration data set:
  $appXmlCfgs = array();
  $appXmlCfgs['config'] = array('name'=>'phpmvc-config.xml', 'fc'=>True);
    或者僅在phpmvc-config.xml文件被修改的時(shí)候重新編譯應(yīng)用程序配置文件(在開(kāi)發(fā)完成后使用此項(xiàng)設(shè)置,速度快),我們使用:
// The application XML configuration data set:
  $appXmlCfgs = array();
  $appXmlCfgs['config'] = array('name'=>'phpmvc-config.xml', 'fc'=>False);

設(shè)置應(yīng)用程序模板目錄

    當(dāng)為模板標(biāo)簽應(yīng)用程序設(shè)置模板目錄時(shí),我們需要去創(chuàng)建一個(gè)目錄(和子目錄),放置我們的應(yīng)用程序模板文件.這個(gè)目錄必須被命名為在View資源配置類的$tplDir屬性所定義的值,默認(rèn)是'./WEB-INF/tpl'.比如:例子應(yīng)用程序有一個(gè)模板目錄結(jié)構(gòu)設(shè)置像這樣:
- PhpMVC-Tags
     Index.html
     Main.php
     WEB-INF
        tpl
           pageFooter.ssp
           pageHeader.ssp
           salePageBody.ssp
           sale
              pageContent.ssp
    我們也需要去創(chuàng)建目錄放置編譯的頁(yè)面.這個(gè)目錄必須被命名為在View資源配置類的$tplDirC屬性所定義的值.默認(rèn)是'./WEB-INF/tpl_C'.例子應(yīng)用程序有一個(gè)模板目錄結(jié)構(gòu)設(shè)置像這樣:
PhpMVC-Tags
    Index.html
    Main.php
    WEB-INF
       tpl
          ...
          sale
             ...
          tpl_C
             pageFooter.sspC

pageHeader.sspC
             salePageBody.sspC
             sale
                pageContent.sspC
    注意我們也需要在'./WEB-INF/tpl_C'下創(chuàng)建sale目錄.

設(shè)置PHP.MVC庫(kù)的路徑和包含

    檢查以下路徑設(shè)置已經(jīng)被定義在GlobalPaths.php和globalPrepend.php文件在你的框架安裝目錄下的"/WEB-INF"目錄下:
GlobalPaths.php
------------------------------------------------
 $appDirs[] = 'WEB-INF/lib/phpmvc_tags';

globalPrepend.php
------------------------------------------------
 include_once 'PhpMVC_Tags.php';
    如果他們沒(méi)有在添加到路徑里,那么就定義這些變量.

安裝PHP.MVC庫(kù)

    下載最新版的PHP.MVC庫(kù):http://www.phpmvc.net/download/cvsIdx.php?doc=cvs-snaps
    解壓庫(kù)文檔到一個(gè)目錄.修改上面所描述過(guò)的路徑設(shè)置和包含設(shè)置.

運(yùn)行例子應(yīng)用程序

    下載例子應(yīng)用程序.完整的例子代碼文件和這個(gè)向?qū)Ф寄茉谶@里下載:http://www.phpmvc.net/download/rel/phpmvc-tags-v1.0.zip
    解壓到web服務(wù)器目錄中.可能像這樣:C:/WWW/PhpMVC-Tags
    修改應(yīng)用程序和框架設(shè)置.
    為了測(cè)試?yán)映绦?需要瀏覽器例子程序的首頁(yè):http://localhost/PhpMVC-Tags/Index.html


附錄A:ViewResources配置類

    ViewResourcesConfig類表現(xiàn)了<view-resource>元素的配置信息.
    下表列出了ViewResourcesConfig類的屬性,條目描述和默認(rèn)值:   

Name Description Default Value
 $appTitle   The application title   'My Web Application'
 $appVersion   The application version   '1.0'
 $copyright   The copyright notice   'Copyright C YYYY My Name. All rights reserved.'
 $contactInfo   The contact information 'webmaster@myhost.com'
 $processTags Do we run the template engine processor (boolean)  False
 $compileAll Force compile pages (boolean) False
 $tagL The left tag identifier    '<@'
 $tagR The right tag identifier   '@>'
 $tplDir  The view resource templates directory  './WEB-INF/tpl'
 $tplDirC   The compiled templates directory   './WEB-INF/tpl_C'
  $extC The compiled file notation. Eg: "pageContent.ssp[C]"  'C'
 $maxFileLength   The maximum size of the template files allowed, in bytes (integer)   250000
  $tagFlagStr   Indicates tag template file(s) to be pre-processed. Eg: "myPage.ssp" '.ssp'
  $tagFlagCnt   The number of trailing filename characters to sample (".ssp" = -4)   -4