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

首頁 后端開發(fā) php教程 PHP.MVC的模板標簽系統(tǒng)(四)_PHP教程

PHP.MVC的模板標簽系統(tǒng)(四)_PHP教程

Jul 21, 2016 pm 04:12 PM
使用 單元 如何 布局 標簽 模板 系統(tǒng) 這個 頁面

頁面布局

??? 在這個單元中我們將看到如何使用模板標簽系統(tǒng)構造一個標準的模板頁面。這個例子我們使用了一個簡單的HTML頁面布局,請看下圖:

頁面布局

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

頁主體

??? 下面的代碼單元顯示的是主體:
The Page Body Layout?
1





??
?? <br>2???? <br>??

??
??


?????
??

??
??


?????
??

??
??


?????
??

????????
4???????
?????


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

3:頁眉
??? 頁眉是下一個有趣的條目(3).在這里我們使用包含指令來插入頁眉模板文件到頁主體中.我們將在下一個子單元中來看一看頁眉.
??? 我們僅僅使用了頁面直接去讀取頁眉,不論頁的組件存儲在哪里.這是一個好機會來介紹模板標簽系統(tǒ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結點來重新定義他們,就像這樣:
?? ...
?? tplDir?? = "./WEB-INF/tpl-admin"
?? tplDirC? = "./WEB-INF/tpl_admin_C"
?? ...

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

頁眉單元

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


??

??? 當主體頁面(包括包含的頁面)被編譯的時候,頁眉的表達式被轉換成下面這樣:


?? getAppTitle(); ?>

??? 被編譯的頁面被存儲在編譯模板目錄中,就像上面所說的,默認的編譯模板目錄是:
'./WEB-INF/tpl_C'

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

??? 頁內(nèi)容主體模板文件有一點復雜.文件('sale/pageContent.ssp')內(nèi)容顯示如下:
...
1
getValueBean("ITEM_1") @>
getValueBean("PRODUCTS_ARRAY") @>

2

3
Clearance deals


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

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

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

4
Todays specials



?
???
???
?


????????
???

????????
???

Our Staff at Your Service
...
5


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

????? Area Manager:
???

?????
???

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

??? 當頁面被顯示到用戶的瀏覽器中,內(nèi)容單元的標題看起來就像這樣:
Jack's Super Deals for : May 2010.
3:使用表達式來顯示一些數(shù)據(jù)條目
??? 現(xiàn)在我們能顯示一些實際的數(shù)據(jù)(3).在這個頁內(nèi)容主體單元中我們訪問一些在PhpMVCTabAction類的ActionObject中的產(chǎn)品條目數(shù)據(jù).一個簡化版的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)在能在模板頁面中被重新獲得:
getValueBean("ITEM_1") @>
??? 我們可以像下面那樣顯示條目的值:

...

4:顯示數(shù)組
??? 我們也可以直接使用一些PHP代碼在我們的模板頁上.在這個分離的MVC模式中,我們應該僅在這里編寫代碼去操縱這些通過ActionObject和ViewResourcesConfig實例(可能我們的自定義Bean也可以)提供的數(shù)據(jù).在上面的也內(nèi)容單元('sale/pageContent.ssp')中,我們使用一個PHP的foreach語法(4)來循環(huán)讀取$products數(shù)組.我們能在上面的PhpMVCTabAction類中看到$products數(shù)組被創(chuàng)建并被保存在ActionObject中,就和上面的$item1 Bean相似.在foreach循環(huán)中我們能使用表達式來顯示產(chǎn)品數(shù)據(jù):

??


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

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

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


??? 但是注意在這個例子中我們使用了一個繼承ViewResourcesConfig類的對象(MyViewResourcesConfig)來設置一些自定義的屬性.我們定義了一個擴展ViewResourcesConfig類的對象,在配置文件里使用className="MyViewResourcesConfig"屬性,并且MyViewResourcesConfig類定義在文件"MyViewResourcesConfig.php"中.MyViewResourcesConfig類(classes/MyViewResourcesConfig.php)實現(xiàn)了setter/getter方法去處理自定義屬性("areaManager"),這個屬性我們在view-resources結點中定義:
class MyViewResourcesConfig extends ViewResourcesConfig {

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

?? var $areaManager = '';

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

?? function setAreaManager($areaManager) {
????? $this->areaManager = $areaManager;
?? }
??? 我們現(xiàn)在能使用表達式在我們的頁面上實現(xiàn)"Area Manager"了:

??? 注意:在真實的應用程序中數(shù)據(jù)能從關系型數(shù)據(jù)庫中得到.

頁腳單元

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


?

??? 當主體頁面(包括包含的頁面)被編譯,在頁腳中的表達式被轉換成下面這樣:


?? getCopyright(); ?>

??? 編譯的頁眉頁面被存儲在編譯模板目錄.默認的編譯模板目錄是:
'./WEB-INF/tpl_C'

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/313701.htmlTechArticle頁面布局 在這個單元中我們將看到如何使用模板標簽系統(tǒng)構造一個標準的模板頁面。這個例子我們使用了一個簡單的HTML頁面布局,請看下圖...
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

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

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應用程序和算法中至關重要的一部分,也是評估計算機硬件性能的重要指標之一。通過深入研究和優(yōu)化GEMM的實現(xiàn),可以幫助我們更好地理解高性能計算以及軟硬件系統(tǒng)之間的關系。在計算機科學中,對GEMM進行有效的優(yōu)化可以提高計算速度并節(jié)省資源,這對于提高計算機系統(tǒng)的整體性能至關重要。深入了解GEMM的工作原理和優(yōu)化方法,有助于我們更好地利用現(xiàn)代計算硬件的潛力,并為各種復雜計算任務提供更高效的解決方案。通過對GEMM性能的優(yōu)

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

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

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

CrystalDiskMark是一款適用于硬盤的小型HDD基準測試工具,可以快速測量順序和隨機讀/寫速度。接下來就讓小編為大家介紹一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介紹CrystalDiskMark是一款廣泛使用的磁盤性能測試工具,用于評估機械硬盤和固態(tài)硬盤(SSD)的讀寫速度和隨機I/O性能。它是一款免費的Windows應用程序,并提供用戶友好的界面和各種測試模式來評估硬盤驅(qū)動器性能的不同方面,并被廣泛用于硬件評

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

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

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

MetaMask(中文也叫小狐貍錢包)是一款免費的、廣受好評的加密錢包軟件。目前,BTCC已支持綁定MetaMask錢包,綁定后可使用MetaMask錢包進行快速登入,儲值、買幣等,且首次綁定還可獲得20USDT體驗金。在BTCCMetaMask錢包教學中,我們將詳細介紹如何注冊和使用MetaMask,以及如何在BTCC綁定并使用小狐貍錢包。MetaMask錢包是什么?MetaMask小狐貍錢包擁有超過3,000萬用戶,是當今最受歡迎的加密貨幣錢包之一。它可免費??使用,可作為擴充功能安裝在網(wǎng)絡

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

在如今云存儲已經(jīng)成為我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠?。百度網(wǎng)盤作為國內(nèi)領先的云存儲服務之一,憑借其強大的存儲功能、高效的傳輸速度以及便捷的操作體驗,贏得了廣大用戶的青睞。而且無論你是想要備份重要文件、分享資料,還是在線觀看視頻、聽取音樂,百度網(wǎng)盤都能滿足你的需求。但是很多用戶們可能對百度網(wǎng)盤app的具體使用方法還不了解,那么這篇教程就將為大家詳細介紹百度網(wǎng)盤app如何使用,還有疑惑的用戶們就快來跟著本文詳細了解一下吧!百度云網(wǎng)盤怎么用:一、安裝首先,下載并安裝百度云軟件時,請選擇自定義安裝選

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

網(wǎng)易郵箱,作為中國網(wǎng)民廣泛使用的一種電子郵箱,一直以來以其穩(wěn)定、高效的服務贏得了用戶的信賴。而網(wǎng)易郵箱大師,則是專為手機用戶打造的郵箱軟件,它極大地簡化了郵件的收發(fā)流程,讓我們的郵件處理變得更加便捷。那么網(wǎng)易郵箱大師該如何使用,具體又有哪些功能呢,下文中本站小編將為大家?guī)碓敿毜膬?nèi)容介紹,希望能幫助到大家!首先,您可以在手機應用商店搜索并下載網(wǎng)易郵箱大師應用。在應用寶或百度手機助手中搜索“網(wǎng)易郵箱大師”,然后按照提示進行安裝即可。下載安裝完成后,我們打開網(wǎng)易郵箱賬號并進行登錄,登錄界面如下圖所示

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

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

See all articles