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

首頁(yè) 后端開發(fā) php教程 PHP FRAMEWORK??PRADO 介紹

PHP FRAMEWORK??PRADO 介紹

Jun 23, 2016 pm 02:32 PM

什么是PRADO?

PRADO是在PHP5環(huán)境下的一個(gè)基于事件驅(qū)動(dòng)和基于組件的WEB應(yīng)用開發(fā)框架。使用PRADO開發(fā)WEB應(yīng)用,你主要需要做的工作就是使用已有 的組件(原文是"實(shí)例化已經(jīng)定義好的組件",熟悉面向?qū)ο缶幊痰拈_發(fā)者可能比較容易理解這句話),設(shè)置組件的屬性,為控件組件的各種事件編寫對(duì)應(yīng)的處理函 數(shù),然后把這些組織成一個(gè)個(gè)的頁(yè)面。(譯者注:個(gè)人傾向于將component翻譯為組件,control翻譯為控件,事實(shí)上大多數(shù)場(chǎng)合兩者沒有什么區(qū) 別,但是為了讀者能夠更加容易理解原文,本文一律按此規(guī)則翻譯。)這個(gè)過程和使用RAD開發(fā)工具(比如Delphi或者Visual Basic)來(lái)開發(fā)Windows應(yīng)用程序非常類似。

下面用一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明PRADO框架的工作原理。假定我們現(xiàn)在要使用PRADO來(lái)開發(fā)一個(gè)常見的登錄頁(yè)面。首先我們選擇PRADO中的2個(gè)TTextBox控件和1個(gè)TButton控件來(lái)分別對(duì)應(yīng)用戶名輸入,密碼輸入和提交按鈕。然后把對(duì)應(yīng)密碼輸入的TTextBox控件的TextMode屬性設(shè)置為"Password",并為TButton控件的OnClick事件指定一個(gè)處理函數(shù)login。最后把這些控件放到頁(yè)面模板的合適的位置上(后面會(huì)解釋什么是頁(yè)面模板,實(shí)際上它和一個(gè)html頁(yè)面很相似),一個(gè)功能完善的登錄頁(yè)面就實(shí)現(xiàn)了??丶?huì)自己處理好如何顯示數(shù)據(jù),如何得到用戶輸入的數(shù)據(jù),如何響應(yīng)用戶的操作等這些事情。例如,TTextBox控件會(huì)顯示一個(gè)輸入框讓用戶輸入;用戶輸入的密碼會(huì)被顯示為*號(hào),而開發(fā)者在代碼中可以通過讀取TTextBox控件的Text屬性來(lái)獲取用戶實(shí)際輸入的密碼;當(dāng)用戶點(diǎn)擊了提交按鈕的時(shí)候,login 函數(shù)將會(huì)被自動(dòng)調(diào)用。這和傳統(tǒng)的PHP編程處理方式很不一樣。使用傳統(tǒng)的PHP編程方式,開發(fā)人員需要使用HTML標(biāo)簽來(lái)顯示用戶輸入框 和按鈕,同時(shí)需要自己解析POST數(shù)據(jù)來(lái)獲得用戶的輸入以及判斷按鈕是否被點(diǎn)擊了等等這些事情。

PRADO 基于組件的編程方式使代碼的重用極為方便。一些重復(fù)性的單調(diào)的工作比如表單輸入的驗(yàn)證,頁(yè)面狀態(tài)的管理等都可以使用PRADO已經(jīng)提供的組件來(lái)處理。開發(fā) 者也可以通過繼承現(xiàn)有的組件或者組合現(xiàn)有的組件來(lái)開發(fā)新的組件滿足要求。另外一些新的組件即將發(fā)布。



目前已經(jīng)有很多PHP的框架,Mojavi, WACT, PHP.MVC, Phrame等等。它們主要是建立一套松散的PHP代碼組織方式(比如 Model-view-controller)。其中一些更多的面向開發(fā)一個(gè)內(nèi)容管理系統(tǒng),并提供了諸如用戶管理模塊等更多的功能。

和這些框架相比,PRADO更專注于建立一個(gè)代碼重用和事件驅(qū)動(dòng)的編程標(biāo)準(zhǔn)。如果你曾經(jīng)用Delphi或者Visual Basic等這些RAD開發(fā)工具來(lái)開發(fā)Windows程序的話,那么你會(huì)發(fā)現(xiàn)使用PRADO來(lái)開發(fā)WEB應(yīng)用是非常類似的,你可以很快就掌握PRADO來(lái) 進(jìn)行WEB應(yīng)用的開發(fā)。大多數(shù)情況下,你要做的僅僅是設(shè)置組件的屬性和響應(yīng)組件的事件。更高層次的代碼重用,比如前面所說(shuō)的用戶管理模塊,可以基于 PRADO組件來(lái)實(shí)現(xiàn)。

PRADO的思想最先我是從Apache Tapestry項(xiàng)目想到的。在設(shè)計(jì)和實(shí)現(xiàn)的時(shí)候, Borland Delphi 和Microsoft ASP.NET的設(shè)計(jì)思想起到了很重要的作用 。實(shí)際上,使用過ASP.NET的人可以發(fā)現(xiàn)PRADO中有很多地方和它是相似的。


安裝

PRADO需要PHP5的環(huán)境,以及SimpleXML模塊(PHP5缺省安裝后的環(huán)境下已經(jīng)包括了這個(gè)模塊)。在Windows XP和RedHat Linux環(huán)境下,已經(jīng)在Apache和IIS Web服務(wù)器上都通過了測(cè)試。

PRADO框架使用一個(gè).zip文件發(fā)布。在Linux下可以使用unzip,在Windows下可以使用Winzip來(lái)解壓。

解壓完畢后,會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)目錄prado。這個(gè)目錄主要包括以下這些文件和目錄:

README.html            此項(xiàng)目的說(shuō)明文件<p></p><p>index.html             和README.html中的內(nèi)容是一樣的</p><p>COPYRIGHT              此項(xiàng)目的版權(quán)信息</p><p>HISTORY                版本升級(jí)信息</p><p>framework/             PRADO框架的核心代碼</p><p>examples/              PRADO的一些例子</p><p>docs/                  PRADO的幫助文檔</p><p></p>

完成了解壓之后,把prado目錄的所有東西復(fù)制到Web服務(wù)器的根目錄下。(也可以把它復(fù)制到某一個(gè)子目錄下,甚至更深層次的目錄下,PRADO對(duì)此沒有限制。如果你將它復(fù)制到了某一個(gè)子目錄下,以下的URL地址需要做相應(yīng)的修改。)

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系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脫衣機(jī)

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)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
PHP變量范圍解釋了 PHP變量范圍解釋了 Jul 17, 2025 am 04:16 AM

PHP變量作用域常見問題及解決方法包括:1.函數(shù)內(nèi)部無(wú)法訪問全局變量,需使用global關(guān)鍵字或參數(shù)傳入;2.靜態(tài)變量用static聲明,只初始化一次并在多次調(diào)用間保持值;3.超全局變量如$_GET、$_POST可在任何作用域直接使用,但需注意安全過濾;4.匿名函數(shù)需通過use關(guān)鍵字引入父作用域變量,修改外部變量則需傳遞引用。掌握這些規(guī)則有助于避免錯(cuò)誤并提升代碼穩(wěn)定性。

如何在PHP中牢固地處理文件上傳? 如何在PHP中牢固地處理文件上傳? Jul 08, 2025 am 02:37 AM

要安全處理PHP文件上傳需驗(yàn)證來(lái)源與類型、控制文件名與路徑、設(shè)置服務(wù)器限制并二次處理媒體文件。1.驗(yàn)證上傳來(lái)源通過token防止CSRF并通過finfo_file檢測(cè)真實(shí)MIME類型使用白名單控制;2.重命名文件為隨機(jī)字符串并根據(jù)檢測(cè)類型決定擴(kuò)展名存儲(chǔ)至非Web目錄;3.PHP配置限制上傳大小及臨時(shí)目錄Nginx/Apache禁止訪問上傳目錄;4.GD庫(kù)重新保存圖片清除潛在惡意數(shù)據(jù)。

在PHP中評(píng)論代碼 在PHP中評(píng)論代碼 Jul 18, 2025 am 04:57 AM

PHP注釋代碼常用方法有三種:1.單行注釋用//或#屏蔽一行代碼,推薦使用//;2.多行注釋用/.../包裹代碼塊,不可嵌套但可跨行;3.組合技巧注釋如用/if(){}/控制邏輯塊,或配合編輯器快捷鍵提升效率,使用時(shí)需注意閉合符號(hào)和避免嵌套。

發(fā)電機(jī)如何在PHP中工作? 發(fā)電機(jī)如何在PHP中工作? Jul 11, 2025 am 03:12 AM

AgeneratorinPHPisamemory-efficientwaytoiterateoverlargedatasetsbyyieldingvaluesoneatatimeinsteadofreturningthemallatonce.1.Generatorsusetheyieldkeywordtoproducevaluesondemand,reducingmemoryusage.2.Theyareusefulforhandlingbigloops,readinglargefiles,or

撰寫PHP評(píng)論的提示 撰寫PHP評(píng)論的提示 Jul 18, 2025 am 04:51 AM

寫好PHP注釋的關(guān)鍵在于明確目的與規(guī)范,注釋應(yīng)解釋“為什么”而非“做了什么”,避免冗余或過于簡(jiǎn)單。1.使用統(tǒng)一格式,如docblock(/*/)用于類、方法說(shuō)明,提升可讀性與工具兼容性;2.強(qiáng)調(diào)邏輯背后的原因,如說(shuō)明為何需手動(dòng)輸出JS跳轉(zhuǎn);3.在復(fù)雜代碼前添加總覽性說(shuō)明,分步驟描述流程,幫助理解整體思路;4.合理使用TODO和FIXME標(biāo)記待辦事項(xiàng)與問題,便于后續(xù)追蹤與協(xié)作。好的注釋能降低溝通成本,提升代碼維護(hù)效率。

學(xué)習(xí)PHP:初學(xué)者指南 學(xué)習(xí)PHP:初學(xué)者指南 Jul 18, 2025 am 04:54 AM

易于效率,啟動(dòng)啟動(dòng)tingupalocalserverenverenvirestoolslikexamppandacodeeditorlikevscode.1)installxamppforapache,mysql,andphp.2)uscodeeditorforsyntaxssupport.3)

如何通過php中的索引訪問字符串中的字符 如何通過php中的索引訪問字符串中的字符 Jul 12, 2025 am 03:15 AM

在PHP中獲取字符串特定索引字符可用方括號(hào)或花括號(hào),但推薦方括號(hào);索引從0開始,超出范圍訪問返回空值,不可賦值;處理多字節(jié)字符需用mb_substr。例如:$str="hello";echo$str[0];輸出h;而中文等字符需用mb_substr($str,1,1)獲取正確結(jié)果;實(shí)際應(yīng)用中循環(huán)訪問前應(yīng)檢查字符串長(zhǎng)度,動(dòng)態(tài)字符串需驗(yàn)證有效性,多語(yǔ)言項(xiàng)目建議統(tǒng)一使用多字節(jié)安全函數(shù)。

快速PHP安裝教程 快速PHP安裝教程 Jul 18, 2025 am 04:52 AM

ToinstallPHPquickly,useXAMPPonWindowsorHomebrewonmacOS.1.OnWindows,downloadandinstallXAMPP,selectcomponents,startApache,andplacefilesinhtdocs.2.Alternatively,manuallyinstallPHPfromphp.netandsetupaserverlikeApache.3.OnmacOS,installHomebrew,thenrun'bre

See all articles