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

首頁(yè) 後端開發(fā) php教程 PHP.MVC的模板標(biāo)籤系統(tǒng)(四)_PHP教學(xué)課程

PHP.MVC的模板標(biāo)籤系統(tǒng)(四)_PHP教學(xué)課程

Jul 21, 2016 pm 04:12 PM
使用 單元 如何 佈局 標(biāo)籤 範(fàn)本 系統(tǒng) 這個(gè) 頁(yè)面

頁(yè)面布局

??? 在這個(gè)單元中我們將看到如何使用模板標(biāo)簽系統(tǒng)構(gòu)造一個(gè)標(biāo)準(zhǔn)的模板頁(yè)面。這個(gè)例子我們使用了一個(gè)簡(jiǎn)單的HTML頁(yè)面布局,請(qǐng)看下圖:

頁(yè)面布局

??? 這個(gè)頁(yè)面有多個(gè)標(biāo)準(zhǔn)單元組成,就像頁(yè)面設(shè)計(jì)者和開發(fā)者熟悉的那樣.這個(gè)頁(yè)面的主體由3個(gè)包含的單元組成:頁(yè)眉,頁(yè)內(nèi)容主體和頁(yè)腳.我們現(xiàn)在就看看這些單元并且了解如何使用模板標(biāo)簽系統(tǒng)來(lái)實(shí)現(xiàn).

頁(yè)主體

??? 下面的代碼單元顯示的是主體:
The Page Body Layout?
1
<@ saleMonth = data.getValueBean('SALE_MONTH') @>
<@ saleTitle = data.getValueBean('SALE_TITLE') @>
<@ dealHeading = data.getValueBean('DEAL_HEADING') @>
<@ salesAreaID = "Central District" @>



??
?? <br>2???? <@ =viewConfig.getAppTitle @><br>??

??
??


?????
??

??
??


?????
??

??
??


?????
??

????????
4??????? <@ include 'sale/pageContent.ssp' @>
?????


1:頁(yè)聲明
??? 第一個(gè)有趣的條目是頁(yè)頂部的頁(yè)聲明(1).我們?cè)陧?yè)面開始聲明了這些變量,因此這些變量將能在下面的頁(yè)面和像頁(yè)眉那樣的包含頁(yè)所使用.
2:頁(yè)標(biāo)題
??? 下一步我們使用表達(dá)式來(lái)初始化頁(yè)面標(biāo)題(2).這個(gè)值能夠從配置文件中view-resources元素利用ViewResourcesConfig->getAppTitle來(lái)得到:
appTitle = "Flash Jacks' Sleek Tab Site"
...

3:頁(yè)眉
??? 頁(yè)眉是下一個(gè)有趣的條目(3).在這里我們使用包含指令來(lái)插入頁(yè)眉模板文件到頁(yè)主體中.我們將在下一個(gè)子單元中來(lái)看一看頁(yè)眉.
??? 我們僅僅使用了頁(yè)面直接去讀取頁(yè)眉,不論頁(yè)的組件存儲(chǔ)在哪里.這是一個(gè)好機(jī)會(huì)來(lái)介紹模板標(biāo)簽系統(tǒng)的目錄設(shè)置.默認(rèn)情況下,模板目錄布局如下所示(注意這些路徑相對(duì)于我們的應(yīng)用程序):
The Default PhpMVC_Tags Template Directory Layout Paths (relative)?
The Template Files? './WEB-INF/tpl'?
The Compiled Template Files? './WEB-INF/tpl_C'?
??? 如果需要的話我們可以在配置文件的view-resources結(jié)點(diǎn)來(lái)重新定義他們,就像這樣:
...
tplDir = "./WEB-INF/tpl-admin"
tplDirC = "./WEB-INF/tpl_admin_C"
...

4:頁(yè)內(nèi)容主體
??? 這是另外一個(gè)包含指令被用來(lái)插入模板文件(4)到主體中.注意包含的文件位于模板目錄的sales子目錄中:
"./WEB-INF/tpl/sale/pageContent.ssp"
5:頁(yè)腳
??? 又是一個(gè)包含指令,就像頁(yè)眉一樣.

頁(yè)眉單元

??? 在這個(gè)例子中頁(yè)眉模板文件('pageHeader.ssp')只是一個(gè)簡(jiǎn)單的單元,就像這樣:


?? <@ =viewConfig.getAppTitle @>

??? 當(dāng)主體頁(yè)面(包括包含的頁(yè)面)被編譯的時(shí)候,頁(yè)眉的表達(dá)式被轉(zhuǎn)換成下面這樣:


?? getAppTitle(); ?>

??? 被編譯的頁(yè)面被存儲(chǔ)在編譯模板目錄中,就像上面所說(shuō)的,默認(rèn)的編譯模板目錄是:
'./WEB-INF/tpl_C'

頁(yè)內(nèi)容主體單元

??? 頁(yè)內(nèi)容主體模板文件有一點(diǎn)復(fù)雜.文件('sale/pageContent.ssp')內(nèi)容顯示如下:
...
1
<@ item1=data->getValueBean("ITEM_1") @>
<@ products=data->getValueBean("PRODUCTS_ARRAY") @>

2

<@=dealHeading @> <@=saleMonth @>

3
Clearance deals


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

???????? <@ =item1.getName @>
?????

???????? <@ =item1.getCost @>
?????

4
Todays specials



?
???
???
?


???????? <@ =item.getName @>
???

???????? <@ =item.getCost @>
???

Our Staff at Your Service
...
5


?
???
???
?
? ...

????? Area Manager:
???

????? <@ =viewConfig.getAreaManager @>
???

1:一些更多的聲明
??? 在頁(yè)面頂部所顯示的額外聲明(1)能讓我們聲明頁(yè)變量以便下面能夠使用.在內(nèi)容被處理之后,這些聲明將在編譯后像下面這樣顯示:
getValueBean("ITEM_1"); ?>
...
getValueBean("PRODUCTS_ARRAY"); ?>
2:使用表達(dá)式來(lái)顯示內(nèi)容單元標(biāo)題
??? 現(xiàn)在我們使用兩個(gè)表達(dá)式(2)來(lái)顯示內(nèi)容單元的標(biāo)題.注意我們聲明這些變量是"全局"變量在主頁(yè)面的頂部.處理完后,表達(dá)式將轉(zhuǎn)換這些代碼,就像這樣:

??? 當(dāng)頁(yè)面被顯示到用戶的瀏覽器中,內(nèi)容單元的標(biāo)題看起來(lái)就像這樣:
Jack's Super Deals for : May 2010.
3:使用表達(dá)式來(lái)顯示一些數(shù)據(jù)條目
??? 現(xiàn)在我們能顯示一些實(shí)際的數(shù)據(jù)(3).在這個(gè)頁(yè)內(nèi)容主體單元中我們?cè)L問一些在PhpMVCTabAction類的ActionObject中的產(chǎn)品條目數(shù)據(jù).一個(gè)簡(jiǎn)化版的PhpMVCTabAction類在下面展示:
class PhpMVCTabAction extends Action {
?? ...
?? function execute($mapping, $form, &$request, &$response) {
????? // Our value bean container
????? $valueBeans =& new ValueBeans();

????? // Define some strings we need on our View template page
????? // These could be defined globally in the phpmvc-config.xml file.
????? // See: ExtendedController example.
????? $appTitle????? = "Flash Jack's Include Page";
????? $saleMonth???? = "May 2010";
????? $saleTitle???? = "Flash Jack's Super Sale";
????? $dealHeading?? = "Jack's Super Deals for :";
????? ...

????? // Save the string variables to our Value object
????? $valueBeans->addValueBean('APP_TITLE'???? , $appTitle);
????? $valueBeans->addValueBean('SALE_MONTH'??? , $saleMonth);
????? $valueBeans->addValueBean('SALE_TITLE'??? , $saleTitle);
????? $valueBeans->addValueBean('DEAL_HEADING'? , $dealHeading);
????? ...

????? // Some float values we could receive from a database query
????? // Note: The prices are formatted in the Products class constructor.
????? // Eg: "$ n,nnn.nn"
????? $price1 =? 125.00;
????? ...

????? // Setup some clearance deals (individual object instances):
????? // Note: The Product class file was included in our local prepend.php file
????? $item1 = new Product('Super Duper', $price1);
????? ...
????? $valueBeans->addValueBean('ITEM_1', $item1);
????? ...

????? // Todays specials (array of object instances)
????? $products = array();
????? $products[] = new Product('Gooses Bridle', $price3);
????? ...
????? $valueBeans->addValueBean('PRODUCTS_ARRAY', $products);

????? // Our staff
????? $staff1 =& new Staff('Bruce', 'Sales', 'Karate');
????? ...
????? $valueBeans->addValueBean('STAFF_1', $staff1);
????? ...

????? // Save the Value object
????? $this->saveValueObject($request, $valueBeans);
??? 在上面的代碼中,我們能看到$item1被創(chuàng)建并被保存成ActionObject的valueBeans條目.Bean數(shù)據(jù)條目現(xiàn)在能在模板頁(yè)面中被重新獲得:
<@ item1=data->getValueBean("ITEM_1") @>
??? 我們可以像下面那樣顯示條目的值:
<@ =item1.getName @>
...
<@ =item1.getCost @>
4:顯示數(shù)組
??? 我們也可以直接使用一些PHP代碼在我們的模板頁(yè)上.在這個(gè)分離的MVC模式中,我們應(yīng)該僅在這里編寫代碼去操縱這些通過ActionObject和ViewResourcesConfig實(shí)例(可能我們的自定義Bean也可以)提供的數(shù)據(jù).在上面的也內(nèi)容單元('sale/pageContent.ssp')中,我們使用一個(gè)PHP的foreach語(yǔ)法(4)來(lái)循環(huán)讀取$products數(shù)組.我們能在上面的PhpMVCTabAction類中看到$products數(shù)組被創(chuàng)建并被保存在ActionObject中,就和上面的$item1 Bean相似.在foreach循環(huán)中我們能使用表達(dá)式來(lái)顯示產(chǎn)品數(shù)據(jù):

??
?????
???????? <@ =item.getName @>
?????
?????
???????? <@ =item.getCost @>
??????
??

5:顯示ViewResourcesConfig屬性
??? 最后我們從view-resources元素所定義的ViewResourcesConfig屬性來(lái)顯示"Area Manager"(5)在我們的內(nèi)容頁(yè):
appTitle = "Flash Jacks' Sleek Tab Site"
...
className = "MyViewResourcesConfig">

??????
??????
? -resources>
??? 但是注意在這個(gè)範(fàn)例中我們使用了一個(gè)繼承ViewResourcesConfig類別的物件(MyViewResourcesConfig)來(lái)設(shè)定一些自訂的屬性.我們定義了一個(gè)擴(kuò)充ViewResourcesConfig類別的物件,在設(shè)定檔裡使用className=" MyViewResourcesConfig"屬性,並且MyViewResourcesConfig類別定義在檔案"MyViewResourcesConfig.php"中.MyViewResourcesConfig類別(classes/MyViewResourcesConfig.php)實(shí)作了setter/getter方法去處理自訂屬性("areaManager"),這個(gè)屬性我們?cè)趘iew-resources結(jié)點(diǎn)中定義:
class MyViewResourcesConfig extends ViewResourcesConfig {

?? // ----- Properties --------------------------------------- -------------- //

?? var $areaManager = '';

?? function getAreaManager() {
????? return $this->areaManager;
?? }

?? function setAreaManager($areaManager) {
????? $this->areaManager = $areaManager;
?? }
??
??? 注意:在真實(shí)的應(yīng)用程式中資料能從關(guān)係型資料庫(kù)中取得.

頁(yè)腳單元

??? 頁(yè)腳單元和上面討論過的頁(yè)眉單元的處理相類似.頁(yè)腳模板檔案('tpl/pageFooter.ssp')就像這樣:



?

??? 當(dāng)主體頁(yè)(包括包含的頁(yè)面)被編譯,在頁(yè)腳中的表達(dá)式被轉(zhuǎn)換成下面這樣:


?? getCopyright(); ?>

??? 編譯的頁(yè)眉頁(yè)儲(chǔ)存在編譯模板目錄.預(yù)設(shè)的編譯模板目錄是:
'./WEB-INF/tpl_C'

http://www.bkjia.com/PHPjc/313701.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313701.htmlTechArticle頁(yè)面佈局在這個(gè)單元中我們將看到如何使用模板標(biāo)籤系統(tǒng)建構(gòu)一個(gè)標(biāo)準(zhǔn)的模板頁(yè)面。這個(gè)範(fàn)例我們使用了一個(gè)簡(jiǎn)單的HTML頁(yè)面佈局,請(qǐng)看下圖...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

CUDA之通用矩陣乘法:從入門到熟練! CUDA之通用矩陣乘法:從入門到熟練! Mar 25, 2024 pm 12:30 PM

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應(yīng)用程式和演算法中至關(guān)重要的一部分,也是評(píng)估電腦硬體效能的重要指標(biāo)之一。透過深入研究和優(yōu)化GEMM的實(shí)現(xiàn),可以幫助我們更好地理解高效能運(yùn)算以及軟硬體系統(tǒng)之間的關(guān)係。在電腦科學(xué)中,對(duì)GEMM進(jìn)行有效的最佳化可以提高運(yùn)算速度並節(jié)省資源,這對(duì)於提高電腦系統(tǒng)的整體效能至關(guān)重要。深入了解GEMM的工作原理和最佳化方法,有助於我們更好地利用現(xiàn)代計(jì)算硬體的潛力,並為各種複雜計(jì)算任務(wù)提供更有效率的解決方案。透過對(duì)GEMM性能的優(yōu)

foob??ar2000怎麼下載? -foobar2000怎麼使用 foob??ar2000怎麼下載? -foobar2000怎麼使用 Mar 18, 2024 am 10:58 AM

foob??ar2000是一款能隨時(shí)收聽音樂資源的軟體,各種音樂無(wú)損音質(zhì)帶給你,增強(qiáng)版本的音樂播放器,讓你得到更全更舒適的音樂體驗(yàn),它的設(shè)計(jì)理念是將電腦端的高級(jí)音頻播放器移植到手機(jī)上,提供更便捷高效的音樂播放體驗(yàn),介面設(shè)計(jì)簡(jiǎn)潔明了易於使用它採(cǎi)用了極簡(jiǎn)的設(shè)計(jì)風(fēng)格,沒有過多的裝飾和繁瑣的操作能夠快速上手,同時(shí)還支持多種皮膚和主題,根據(jù)自己的喜好進(jìn)行個(gè)性化設(shè)置,打造專屬的音樂播放器支援多種音訊格式的播放,它還支援音訊增益功能根據(jù)自己的聽力情況調(diào)整音量大小,避免過大的音量對(duì)聽力造成損害。接下來(lái)就讓小編為大

crystaldiskmark是什麼軟體? -crystaldiskmark如何使用? crystaldiskmark是什麼軟體? -crystaldiskmark如何使用? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark是一款適用於硬碟的小型HDD基準(zhǔn)測(cè)試工具,可快速測(cè)量順序和隨機(jī)讀取/寫入速度。接下來(lái)就讓小編為大家介紹一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介紹CrystalDiskMark是一款廣泛使用的磁碟效能測(cè)試工具,用於評(píng)估機(jī)械硬碟和固態(tài)硬碟(SSD)的讀取和寫入速度和隨機(jī)I/O性能。它是一款免費(fèi)的Windows應(yīng)用程序,並提供用戶友好的介面和各種測(cè)試模式來(lái)評(píng)估硬碟效能的不同方面,並被廣泛用於硬體評(píng)

華為乾崑 ADS3.0 智駕系統(tǒng) 8 月上市 享界 S9 首發(fā)搭載 華為乾崑 ADS3.0 智駕系統(tǒng) 8 月上市 享界 S9 首發(fā)搭載 Jul 30, 2024 pm 02:17 PM

7月29日,在AITO問界第四十萬(wàn)臺(tái)新車下線儀式上,華為常務(wù)董事、終端BG董事長(zhǎng)、智能汽車解決方案BU董事長(zhǎng)余承東出席發(fā)表演講并宣布,問界系列車型將于今年8月迎來(lái)華為乾崑ADS3.0版本的上市,并計(jì)劃在8月至9月間陸續(xù)推送升級(jí)。8月6日即將發(fā)布的享界S9將首發(fā)華為ADS3.0智能駕駛系統(tǒng)。華為乾崑ADS3.0版本在激光雷達(dá)的輔助下,將大幅提升智駕能力,具備融合端到端的能力,并采用GOD(通用障礙物識(shí)別)/PDP(預(yù)測(cè)決策規(guī)控)全新端到端架構(gòu),提供車位到車位智駕領(lǐng)航NCA功能,并升級(jí)CAS3.0全

BTCC教學(xué):如何在BTCC交易所綁定使用MetaMask錢包? BTCC教學(xué):如何在BTCC交易所綁定使用MetaMask錢包? Apr 26, 2024 am 09:40 AM

MetaMask(中文也叫小狐貍錢包)是一款免費(fèi)的、廣受好評(píng)的加密錢包軟體。目前,BTCC已支援綁定MetaMask錢包,綁定後可使用MetaMask錢包進(jìn)行快速登錄,儲(chǔ)值、買幣等,且首次綁定還可獲得20USDT體驗(yàn)金。在BTCCMetaMask錢包教學(xué)中,我們將詳細(xì)介紹如何註冊(cè)和使用MetaMask,以及如何在BTCC綁定並使用小狐貍錢包。 MetaMask錢包是什麼? MetaMask小狐貍錢包擁有超過3,000萬(wàn)用戶,是當(dāng)今最受歡迎的加密貨幣錢包之一。它可免費(fèi)使用,可作為擴(kuò)充功能安裝在網(wǎng)絡(luò)

百度網(wǎng)盤app怎麼用 百度網(wǎng)盤app怎麼用 Mar 27, 2024 pm 06:46 PM

在如今雲(yún)端儲(chǔ)存已成為我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠?。百度網(wǎng)盤作為國(guó)內(nèi)領(lǐng)先的雲(yún)端儲(chǔ)存服務(wù)之一,憑藉其強(qiáng)大的儲(chǔ)存功能、高效的傳輸速度以及便捷的操作體驗(yàn),贏得了廣大用戶的青睞。而且無(wú)論你是想要備份重要文件、分享資料,還是在線上觀看影片、聽取音樂,百度網(wǎng)盤都能滿足你的需求。但很多用戶可能對(duì)百度網(wǎng)盤app的具體使用方法還不了解,那麼這篇教學(xué)就將為大家詳細(xì)介紹百度網(wǎng)盤app如何使用,還有疑惑的用戶們就快來(lái)跟著本文詳細(xì)了解一下吧!百度雲(yún)網(wǎng)盤怎麼用:一、安裝首先,下載並安裝百度雲(yún)軟體時(shí),請(qǐng)選擇自訂安裝選

網(wǎng)易信箱大師怎麼用 網(wǎng)易信箱大師怎麼用 Mar 27, 2024 pm 05:32 PM

網(wǎng)易郵箱,作為中國(guó)網(wǎng)友廣泛使用的一種電子郵箱,一直以來(lái)以其穩(wěn)定、高效的服務(wù)贏得了用戶的信賴。而網(wǎng)易信箱大師,則是專為手機(jī)使用者打造的信箱軟體,它大大簡(jiǎn)化了郵件的收發(fā)流程,讓我們的郵件處理變得更加便利。那麼網(wǎng)易信箱大師該如何使用,具體又有哪些功能呢,下文中本站小編將為大家?guī)?lái)詳細(xì)的內(nèi)容介紹,希望能幫助到大家!首先,您可以在手機(jī)應(yīng)用程式商店搜尋並下載網(wǎng)易信箱大師應(yīng)用程式。在應(yīng)用寶或百度手機(jī)助手中搜尋“網(wǎng)易郵箱大師”,然後按照提示進(jìn)行安裝即可。下載安裝完成後,我們打開網(wǎng)易郵箱帳號(hào)並進(jìn)行登錄,登入介面如下圖所示

小米汽車app怎麼用 小米汽車app怎麼用 Apr 01, 2024 pm 09:19 PM

小米汽車軟體提供遠(yuǎn)端車控功能,讓使用者可以透過手機(jī)或電腦遠(yuǎn)端控制車輛,例如開關(guān)車輛的門窗、啟動(dòng)引擎、控制車輛的空調(diào)和音響等,下文就是這個(gè)軟體的使用及內(nèi)容,一起了解下吧。小米汽車app功能及使用方法大全1、小米汽車app在3月25日上線蘋果AppStore,現(xiàn)在安卓手機(jī)的應(yīng)用商店中也可以下載了;購(gòu)車:了解小米汽車核心亮點(diǎn)和技術(shù)參數(shù),可預(yù)約試駕、配置訂購(gòu)您的小米汽車,支援線上處理提車待辦事項(xiàng)。 3.社群:了解小米汽車品牌資訊,交流用車體驗(yàn),分享精彩車生活;4、車控:手機(jī)就是遙控器,遠(yuǎn)端控制,即時(shí)安防,輕

See all articles