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

首頁(yè) php教程 php手冊(cè) PHP做Web開(kāi)發(fā)的MVC框架(Smarty使用說(shuō)明 )

PHP做Web開(kāi)發(fā)的MVC框架(Smarty使用說(shuō)明 )

Jul 09, 2016 am 09:10 AM
mvc php smarty web開(kāi)發(fā) 程式碼 開(kāi)源 框架 程式設(shè)計(jì) 程式設(shè)計(jì)語(yǔ)言 軟體開(kāi)發(fā)

<span style="font-size: 15px;"><span style="font-size: 18pt;">      PHP做Web開(kāi)發(fā)的MVC框架(Smarty使用說(shuō)明 )</span><br>一、Smarty簡(jiǎn)明教程 </span>
<span style="font-size: 15px;">1.安裝演示 </span>
<span style="font-size: 15px;"> 下載最新版本的Smarty-3.1.12,然后解壓下載的文件。接下來(lái)演示Smarty自帶的demo例子。 </span>
<span style="font-size: 15px;">(1)下載地址:http://www.smarty.net/download </span>
<span style="font-size: 15px;">(2)在你的WEB服務(wù)器根目錄下建立新目錄,這里我在/var/www下創(chuàng)建yqting/目錄,然后將解壓之后的目錄中的demo/和libs/目錄復(fù)制到/var/www/yqting/目錄下。 <br>(3)這里要特別注意demo/目錄下cache/和template_c/兩個(gè)目錄,<strong><span style="color: #ff0000;">一定要設(shè)置它們 為可讀寫權(quán)限</span></strong>。 </span>
<span style="font-size: 15px;">  chmod 777 cache/ </span>
<span style="font-size: 15px;">  chmod 777 template_c/ </span>
<span style="font-size: 15px;">(4)啟動(dòng)apache。在瀏覽器中輸入http://localhost/yqting/demo/index.php ,這樣一個(gè)簡(jiǎn)單的Smarty demo就實(shí)現(xiàn)了。 </span>
<span style="font-size: 15px;">2.Smarty目錄結(jié)構(gòu) </span>
<span style="font-size: 15px;">(1)以/var/www/yqting目錄開(kāi)始分析: </span>
<span style="font-size: 15px;">  yqting/ </span>
<span style="font-size: 15px;">    ├── demo </span>
<span style="font-size: 15px;">    │ ├── cache   緩沖文件存放目錄 </span>
<span style="font-size: 15px;">    │ ├── configs ?  配置文件目錄 </span>
<span style="font-size: 15px;">    │ ├── index.php </span>
<span style="font-size: 15px;">    │ ├── plugins ?  自定義的一些實(shí)用插件 </span>
<span style="font-size: 15px;">    │ ├── templates ?  模板目錄 </span>
<span style="font-size: 15px;">    │ └── templates_c   編譯后的文件存放目錄 </span>
<span style="font-size: 15px;">    └── libs</span>
<span style="font-size: 15px;">??     ├── debug.tpl   debug模板 </span>
<span style="font-size: 15px;">??     ├── plugins ?  自定義的一些實(shí)用插件</span>
<span style="font-size: 15px;">?    ? ├── SmartyBC.class.php    支持Smarty 2兼容 </span>
<span style="font-size: 15px;">    ?? ├── Smarty.class.php   Smarty類定義文件 </span>
<span style="font-size: 15px;">?    ? └── sysplugins ?  Smarty核心功能插件,不需要進(jìn)行修改 </span>
<span style="font-size: 15px;">(2)添加自己定義的插件 </span>
<span style="font-size: 15px;">  上述目錄結(jié)構(gòu)中,其實(shí)最核心的部分是libs/目錄,同時(shí)這部分也是不允許修改的。</span>
<span style="font-size: 15px;">  而要添加自己的插件,一種方法是將自己定義的插件放在libs/plugins/目錄下,另一種方式是 單獨(dú)創(chuàng)建一個(gè)自己plugins/目錄,同時(shí)還要?jiǎng)?chuàng)建cache/、configs/、templates/和templates _c/目錄,而且要保證cache/和templates_c/目錄的可讀寫權(quán)限。 </span>
<span style="font-size: 15px;">  不難發(fā)現(xiàn),其實(shí)上述例子中,demo/目錄就是一個(gè)包含了自己定義的插件的完整目錄。 我們可以參照demo/目錄來(lái)實(shí)現(xiàn)自己的程序。 </span>
<span style="font-size: 15px;">3.實(shí)現(xiàn)一個(gè)簡(jiǎn)單的例子 </span>
<span style="font-size: 15px;">(1)在/var/www/yqting/下創(chuàng)建目錄weibo/,然后在weibo/目錄下創(chuàng)建cache/、 configs/、templates/和templates_c/目錄,修改cache/和templates_c/目錄的權(quán)限為可讀寫?! ?</span>
<span style="font-size: 15px;">(2)新建一個(gè)模板文件:index.tpl,將此文件放在/var/www/yqting/weibo/templates目錄下,代碼如下: </span>
<span style="font-size: 15px;">   </span>
<span style="font-size: 15px;">   </span>
<span style="font-size: 15px;">  <metahttp-equiv content="text/html;charset=gb2312"></metahttp-equiv></span>
<span style="font-size: 15px;">   <title>Smarty</title> </span>
<span style="font-size: 15px;">   </span>
<span style="font-size: 15px;">  </span>
<span style="font-size: 15px;">  username:{$Name}</span>
<span style="font-size: 15px;">   </span>
<span style="font-size: 15px;">  <br>  這段代碼很簡(jiǎn)單,有什么不明白的繼續(xù)往下看,不要著急!每一個(gè)做顯示的.tpl文件都會(huì)對(duì)應(yīng)一個(gè)處理業(yè)務(wù)邏輯的.php文件,下面介紹這個(gè).php文件。</span>
<span style="font-size: 15px;">(3)新建index.php,將此文件放在/var/www/yqting/weibo/下,代碼如下: </span>
<span style="font-size: 15px;">  <?php <br>  </span><span style="font-size: 15px;">/*sample example */<br>  </span><span style="font-size: 15px;">require '../libs/Smarty.class.php'; <br>  </span><span style="font-size: 15px;">$smarty = new Smarty(); <br>  </span><span style="font-size: 15px;">$username = "Smarty"; <br>  $smarty->assign("Name",$username); <br>  </span><span style="font-size: 15px;">$smarty->display('index.tpl'); <br>  </span><span style="font-size: 15px;">?> <br>  其中require使用的路徑一定要正確,可以參照上面的目錄結(jié)構(gòu)看一下!</span>
<span style="font-size: 15px;">(4)在Smarty3中,Smarty類的構(gòu)造函數(shù)中已經(jīng)指定了template_dir、compile_dir 、config_dir和cache_dir,不需要再次指定。     </span>
<span style="font-size: 15px;">(5) 在瀏覽器中輸入http://localhost/yqting/weibo/index.php,就可以看到輸出的信息username:Smarty 了。 </span>
<span style="font-size: 15px;">二、解釋smarty的程序 </span>
<span style="font-size: 15px;">  我們可以看到,smarty的程序部分實(shí)際就是符合php語(yǔ)言規(guī)范的一組代碼,我們依次來(lái)解釋一下:   </span>
<span style="font-size: 15px;">(1)/**/語(yǔ)句:</span>
<span style="font-size: 15px;">  包含的部分為程序篇頭注釋。主要的內(nèi)容應(yīng)該為對(duì)程序的作用,版權(quán)與作者及編寫時(shí)間 做一個(gè)簡(jiǎn)單的介紹,這在smarty中不是必需的,但從程序的風(fēng)格來(lái)講,這是一個(gè)好的風(fēng)格。   </span>
<span style="font-size: 15px;">(2)include_once語(yǔ)句:</span>
<span style="font-size: 15px;">  它將安裝到網(wǎng)站的smarty文件包含到當(dāng)前文件中,注意包含的路徑一定要寫正確。   </span>
<span style="font-size: 15px;">(3)$smarty = new Smarty(): </span>
<span style="font-size: 15px;">  這一句新建一個(gè)Smarty對(duì)象$smarty,簡(jiǎn)單的一個(gè)對(duì)象的實(shí)例化。   </span>
<span style="font-size: 15px;">(4)$smarty->templates="": </span>
<span style="font-size: 15px;">  這一句指明$smarty對(duì)象使用tpl模板時(shí)的路徑,它是一個(gè)目錄,在沒(méi)有這一句時(shí), Smarty默認(rèn)的模板路徑為當(dāng)前目錄的templates目錄,實(shí)際在寫程序時(shí),我們要將這一 句寫明,這也是一種好的程序風(fēng)格。   </span>
<span style="font-size: 15px;">(5)$smarty->templates_c="": </span>
<span style="font-size: 15px;">  這一句指明$smarty對(duì)象進(jìn)行編譯時(shí)的目錄。在模板設(shè)計(jì)篇我們已經(jīng)知道Smarty是 一種編譯型模板語(yǔ)言,而這個(gè)目錄,就是它編譯模板的目錄,要注意,如果站點(diǎn)位于linux 服務(wù)器上,請(qǐng)確保 teamplates_c里定義的這個(gè)目錄具有可寫可讀權(quán)限,默認(rèn)情況下它的 編譯目錄是當(dāng)前目錄下的templates_c,出于同樣的理由我們將其明確的寫出來(lái)。   </span>
<span style="font-size: 15px;">(6)<strong><span style="color: #ff0000; font-size: 16px;">分隔符 $smarty->left_delimiter與$smarty->right_delimiter: </span></strong></span>
<span style="font-size: 15px;">  指明在查找模板變量時(shí)的左右分割符。默認(rèn)情況下為"{"與"}",但在實(shí)際中因?yàn)槲覀円?在模板中使用<script>,Script中的函數(shù)定義難免會(huì)使用{},雖然它有自己的解決辦法,但習(xí)慣上我們將它重新定義為"{#"與"#}"或是"<!--{"與"}-->"或其它標(biāo)志符,注意,如果在這里定義了左右分割符后,在模板文件中相應(yīng)的要使每一個(gè)變量使用與定義相同的符號(hào), 例如在這里指定為"<{"與"}>",html模板中也要相應(yīng)的將{$name}變成<{$name}>, 這樣程序才可以正確的找到模板變量。   </script></span>
<span style="font-size: 15px;">(7)$smarty->cache="./cache": </span>
<span style="font-size: 15px;">  告訴Smarty輸出的模板文件緩存的位置。上一篇我們知道Smarty最大的優(yōu)點(diǎn)在于它 可以緩存,這里就是設(shè)置緩存的目錄。默認(rèn)情況下為當(dāng)前目錄下的cache目錄,與 templates_c目錄相當(dāng),在linux系統(tǒng)中,我們要確保它的可讀可寫性。   </span>
<span style="font-size: 15px;">(8)$smarty->cache_lifetime = 60 * 60 * 24:   </span>
<span style="font-size: 15px;">  這里將以秒為單位進(jìn)行計(jì)算緩存有效的時(shí)間。第一次緩存時(shí)間到期時(shí)當(dāng)Smarty的 caching變量設(shè)置為true時(shí)緩存將被重建。當(dāng)它的取值為-1時(shí)表示建立起的緩存從不過(guò)期, 為0時(shí)表示在程序每次執(zhí)行時(shí)緩 存總是被重新建立。上面的設(shè)置表示將cache_lifetime設(shè)置為一天。   </span>
<span style="font-size: 15px;">(9)$smarty->caching = 1:   </span>
<span style="font-size: 15px;">  這個(gè)屬性告訴Smarty是否要進(jìn)行緩存以及緩存的方式。</span>
<span style="font-size: 15px;">  它可以取3個(gè)值,0: Smarty默認(rèn)值,表示不對(duì)模板進(jìn)行緩存;1:表示Smarty將使用當(dāng)前定義的 cache_lifetime來(lái)決定是否結(jié)束cache;2:表示 Smarty將使用在cache被建立時(shí)使用 cache_lifetime這個(gè)值。習(xí)慣上使用true與false來(lái)表示是否進(jìn)行緩存。   </span>
<span style="font-size: 15px;">(10)$smarty->assign("name", $username): </span>
<span style="font-size: 15px;">  該數(shù)的原型為assign(string varname, mixed var),varname為模板中使用的模板變量,var指出要將模板變量替換的變量名;其第二種原形為assign(mixed var),我們要在后面的例子詳細(xì)的講解這個(gè)成員函數(shù)的使用方法,assign是Smarty的核心函數(shù)之一, 所有對(duì)模板變量的替換都要使用它。   </span>
<span style="font-size: 15px;">(11)$smarty->display("index.tpl"):   </span>
<span style="font-size: 15px;">  該函數(shù)原形為display(string varname),作用為顯示一個(gè)模板。簡(jiǎn)單的講,它將分析 處理過(guò)的模板顯示出來(lái),這里的模板文件不用加路徑,只要使用一個(gè)文件名就可以了,它路 徑我們已 經(jīng)在$smarty->templates(string path)中定義過(guò)了。   </span>
<span style="font-size: 15px;"><br>程序執(zhí)行完后我們可以打開(kāi)當(dāng)前目錄下的templates_c與cache目錄,就會(huì)發(fā)現(xiàn)在下 邊多出一些%%的目錄,這些目錄就是Smarty的編譯與緩存目錄,它由程序自動(dòng)生成,不 要直接對(duì)這些生成的文件進(jìn)行修改。   </span>
<span style="font-size: 15px;">以上我簡(jiǎn)單的把Smarty程序中的一些常用的基本元素介紹了一下,在后邊的例子中你可以看到將它們將被多次的使用。</span>
<span style="font-size: 15px;">?</span>
本網(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整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

為什麼我們?cè)u(píng)論:PHP指南 為什麼我們?cè)u(píng)論:PHP指南 Jul 15, 2025 am 02:48 AM

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

如何在Windows上安裝PHP 如何在Windows上安裝PHP Jul 15, 2025 am 02:46 AM

安裝PHP在Windows上的關(guān)鍵步驟包括:1.下載合適的PHP版本並解壓,推薦使用ThreadSafe版本配合Apache或NonThreadSafe版本配合Nginx;2.配置php.ini文件,將php.ini-development或php.ini-production重命名為php.ini;3.將PHP路徑添加到系統(tǒng)環(huán)境變量Path中以便命令行使用;4.測(cè)試PHP是否安裝成功,通過(guò)命令行執(zhí)行php-v和運(yùn)行內(nèi)置服務(wù)器測(cè)試解析能力;5.若使用Apache,需在httpd.conf中配置P

PHP語(yǔ)法:基礎(chǔ)知識(shí) PHP語(yǔ)法:基礎(chǔ)知識(shí) Jul 15, 2025 am 02:46 AM

PHP的基礎(chǔ)語(yǔ)法包括四個(gè)關(guān)鍵點(diǎn):1.PHP標(biāo)籤必須使用結(jié)束,推薦使用完整標(biāo)籤;2.輸出內(nèi)容常用echo和print,其中echo支持多參數(shù)且效率更高;3.註釋方式有//、#和//,用於提升代碼可讀性;4.每條語(yǔ)句必須以分號(hào)結(jié)尾,空格和換行不影響執(zhí)行但影響可讀性。掌握這些基本規(guī)則有助於寫出清晰穩(wěn)定的PHP代碼。

什麼是lambda的表情? 什麼是lambda的表情? Jul 15, 2025 am 03:00 AM

Lambda表達(dá)式是一種編寫更簡(jiǎn)短、簡(jiǎn)潔函數(shù)的方法,尤其適用於需要臨時(shí)使用簡(jiǎn)單函數(shù)的場(chǎng)景。它是一種匿名函數(shù),常用於將函數(shù)作為參數(shù)傳遞給其他高階函數(shù)(如map()、filter()或sorted()),也可用於避免為一次性邏輯定義完整函數(shù)。例如在Python中:double=lambdax:x*2等價(jià)於一個(gè)簡(jiǎn)單的函數(shù)定義。 1.主要用途包括:作為參數(shù)傳遞給高階函數(shù);一次性使用的邏輯封裝;GUI或事件處理中的快速綁定。 2.常見(jiàn)用例有:基於自定義鍵排序列表、實(shí)時(shí)過(guò)濾數(shù)據(jù)、在數(shù)據(jù)管道中進(jìn)行變換操作。 3.使

PHP 8安裝指南 PHP 8安裝指南 Jul 16, 2025 am 03:41 AM

在Ubuntu上安裝PHP8的步驟為:1.更新軟件包列表;2.安裝PHP8及基礎(chǔ)組件;3.檢查版本確認(rèn)安裝成功;4.按需安裝額外模塊。 Windows用戶可下載ZIP包並解壓,隨後修改配置文件、啟用擴(kuò)展並將路徑加入環(huán)境變量。 macOS用戶推薦使用Homebrew安裝,依次執(zhí)行添加tap、安裝PHP8、設(shè)置默認(rèn)版本及驗(yàn)證版本等步驟。不同系統(tǒng)下安裝方式雖有差異,但流程清晰,根據(jù)用途選對(duì)方法即可。

python如果還有示例 python如果還有示例 Jul 15, 2025 am 02:55 AM

寫Python的ifelse語(yǔ)句關(guān)鍵在於理解邏輯結(jié)構(gòu)與細(xì)節(jié)。 1.基礎(chǔ)結(jié)構(gòu)是if條件成立執(zhí)行一段代碼,否則執(zhí)行else部分,else可選;2.多條件判斷用elif實(shí)現(xiàn),順序執(zhí)行且一旦滿足即停止;3.嵌套if用於進(jìn)一步細(xì)分判斷,建議不超過(guò)兩層;4.簡(jiǎn)潔場(chǎng)景可用三元表達(dá)式替代簡(jiǎn)單ifelse。注意縮進(jìn)、條件順序及邏輯完整性,才能寫出清晰穩(wěn)定的判斷代碼。

您的第一個(gè)PHP腳本:實(shí)用介紹 您的第一個(gè)PHP腳本:實(shí)用介紹 Jul 16, 2025 am 03:42 AM

如何開(kāi)始編寫第一個(gè)PHP腳本?首先設(shè)置本地開(kāi)發(fā)環(huán)境,安裝XAMPP/MAMP/LAMP,使用文本編輯器,了解服務(wù)器運(yùn)行原理。其次,創(chuàng)建一個(gè)名為hello.php的文件,輸入基本代碼並運(yùn)行測(cè)試。第三,學(xué)習(xí)混合使用PHP與HTML以實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容輸出。最後,注意常見(jiàn)錯(cuò)誤如缺少分號(hào)、引用問(wèn)題及文件擴(kuò)展名錯(cuò)誤,並開(kāi)啟錯(cuò)誤報(bào)告以便調(diào)試。

什麼是PHP,它是用什麼? 什麼是PHP,它是用什麼? Jul 16, 2025 am 03:45 AM

PHPisaserver-sidescriptinglanguageusedforwebdevelopment,especiallyfordynamicwebsitesandCMSplatformslikeWordPress.Itrunsontheserver,processesdata,interactswithdatabases,andsendsHTMLtobrowsers.Commonusesincludeuserauthentication,e-commerceplatforms,for

See all articles