版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、DPT介紹PHP為什么在主流的應(yīng)用中總是那么不出色,總是不如.Net/Java,就是因?yàn)樵赑HP處理大型應(yīng)用的時(shí)候,那些不完整的面向?qū)ο髾C(jī)制、數(shù)據(jù)庫(kù)處理的單一,不通用性等等,影響了PHP做大型應(yīng)用。那么,如何來(lái)改變這個(gè)狀況呢?當(dāng)然就是需要引進(jìn)一些新的設(shè)計(jì)方法,把PHP中不健全的面向?qū)ο髾C(jī)制完整起來(lái),進(jìn)行更好的PHP大中型應(yīng)用的開(kāi)發(fā)。從Java過(guò)來(lái)的MVC模式非常流行,而且已經(jīng)有部分已經(jīng)引伸進(jìn)了PHP領(lǐng)域,設(shè)計(jì)模式的引進(jìn),就是為了更好的控制項(xiàng)目開(kāi)發(fā)。今天我要說(shuō)一種設(shè)計(jì)模式,類(lèi)似于MVC,它叫DPT模式。其實(shí)有時(shí)候我也覺(jué)得有點(diǎn)象Java里面的DAO(DataAccessObject),不過(guò)DAO是夾在業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)資源層之間的,而DPT更多的是把業(yè)務(wù)邏輯也封裝在類(lèi)里,和DAO層在相同的內(nèi)容中。D-Data,數(shù)據(jù)收集層P-Php,PHP數(shù)據(jù)調(diào)用層T-Template,模板層首先,我們要對(duì)它進(jìn)行簡(jiǎn)單的了解。Data,就是我們的數(shù)據(jù)層,它不是數(shù)據(jù)庫(kù)抽象類(lèi),而是通過(guò)數(shù)據(jù)庫(kù)接口,執(zhí)行一些SQL,把數(shù)據(jù)獲取的過(guò)程,一般把這種操作封裝在類(lèi)里面,就形成了我們的數(shù)據(jù)收集層。Php,就是對(duì)我們收集的數(shù)據(jù)進(jìn)行整理,規(guī)劃,同時(shí)解析模板進(jìn)行數(shù)據(jù)的顯示。Template,模板層,就是我們的HTML頁(yè),里面不包含任何PHP代碼,只有模板標(biāo)簽的內(nèi)容,通過(guò)它來(lái)控制數(shù)據(jù)在頁(yè)面中有格式的顯示。我們這里三層中,每一層都是鼓勵(lì)由一個(gè)人來(lái)開(kāi)發(fā),然后通過(guò)PHPDoc之類(lèi)的工具,把源代碼中的API生成文檔,由P層的人進(jìn)行調(diào)用。那么,在實(shí)際的項(xiàng)目開(kāi)發(fā)中,它是怎么運(yùn)作的呢,我們又如何把這種設(shè)計(jì)模式引進(jìn)我們的項(xiàng)目中呢?我們下面將運(yùn)用一個(gè)實(shí)際的項(xiàng)目來(lái)講解DPT模式。閱讀一下內(nèi)容必須具備基本的PHP4的面向?qū)ο缶幊獭?shù)據(jù)庫(kù)抽象類(lèi)、模板等知識(shí)。我們目前為了加速PHP的開(kāi)發(fā),都使用PHP封裝了部分功能,比如數(shù)據(jù)庫(kù)操作抽象類(lèi),模板類(lèi)等等,這些都是為了開(kāi)發(fā)復(fù)雜應(yīng)用而應(yīng)運(yùn)而生的。目前比較主流的數(shù)據(jù)庫(kù)抽象類(lèi)有phplibdb、PEAR::DB、ADODB等等,模板處理類(lèi)有phplibtemplate、smartTemplate、Smarty等等。本文中都是使用PHPGroup推薦的產(chǎn)品,數(shù)據(jù)口抽象類(lèi)使用PEAR::DB,模板處理類(lèi)使用Smarty,如果對(duì)這兩個(gè)類(lèi)庫(kù)不熟悉的讀者,請(qǐng)參考文章后面的鏈接。二、項(xiàng)目體系結(jié)構(gòu)下面我們來(lái)構(gòu)建我們基于DPT模式的PHP應(yīng)用。(以下部分內(nèi)容參考《MVC模式、類(lèi)封裝還是黑客代碼》)考文件目錄結(jié)劉構(gòu)(只涉及裂到關(guān)鍵的目坡錄)勻class尸沒(méi)質(zhì)類(lèi)庫(kù),包含兔所有的數(shù)據(jù)械收集層熊templ毯ate
牧據(jù)模板文件存海放目錄喚inclu歐de
著會(huì)常用庫(kù),包哈括啦PEA臭R沿、死Smart貫y腫等類(lèi)庫(kù),同協(xié)時(shí)還有自己瞧定義的基本勢(shì)函數(shù)什confi窗g.inc慎.姻php
材鷹基本配置文加件,包括數(shù)際據(jù)歐庫(kù)配置,其尾他基本信息惜配置繭secur挑ity.i零nc.ph播p枝裹安全處理頁(yè)驟,主要多傳油遞的變量進(jìn)急行處理勞init.銜inc.患php攤error芬.php
橡發(fā)錯(cuò)誤處理牢頁(yè)儀泥場(chǎng)副clas讀s督目錄中存放扯了我們數(shù)據(jù)鵝收集層中的穗內(nèi)容,一般俘的建議是每克個(gè)類(lèi)文件只軟是針對(duì)一個(gè)訓(xùn)表進(jìn)行操作柜,比對(duì)如戚cmsMe撞ssage濤.clas吊s.ph稿p液,那么這個(gè)感類(lèi)就是屬于努功咸能盛CM露S絕里面的,只晉負(fù)責(zé)操額作著Messa噸g恢e陽(yáng)這個(gè)表。所便有的數(shù)據(jù)庫(kù)罷交互和操作凍都是封裝在首類(lèi)里的,障在排P雹層不允許出題現(xiàn)任何直接陪操作數(shù)據(jù)庫(kù)偶的語(yǔ)句。抄終市templ塑at枝e工目錄析中萍存垂放了我們的延網(wǎng)頁(yè)模板,寇模板中都是深使純用緩Smart服y鄰標(biāo)簽進(jìn)行排傷列的,同時(shí)糞,在模板中稻,都是建議比使得用攀J膊S攜+傅CS償S付來(lái)控制頁(yè)面坡,模板中只缸有經(jīng)DI抽V效標(biāo)簽來(lái)簡(jiǎn)單當(dāng)?shù)呐虐孢w,這樣,非淘常利于網(wǎng)站紐改版和更換琴皮膚。政貧所inclu搭d樸e旨目錄就是對(duì)雄常用文件的欠包含,比筆如孝PEAR:詳:D必B吐類(lèi)擔(dān)、胞Smart鉆y兼類(lèi)庫(kù)文件等毛。佛confi晨g.inc語(yǔ).ph吊p療就是基本的俱配置文件,雙包括數(shù)據(jù)庫(kù)喊、基本常量翅等等鈴,居secur思ity.i繭nc.ph涉p類(lèi)是安全處理猛頁(yè),我們這蔥里主要是做便一個(gè)變量的窯安全檢查,需下面內(nèi)容我乳們將仔細(xì)介嘆紹覆。景init.扒inc.p延h像p凈是一個(gè)初始嫂化操作的頁(yè)煤面,包括穩(wěn)初復(fù)始聽(tīng)化數(shù)據(jù)庫(kù)鏈識(shí)接,實(shí)例化望模板皺處理類(lèi)因等等操作投,鑼error有.ph掏p狠是錯(cuò)誤信息伸處理頁(yè)棒,所有的錯(cuò)隙誤信息通掉過(guò)征UR雞L逃編碼后轉(zhuǎn)到蹦該頁(yè)。叨寫(xiě)三、項(xiàng)目基視本配置代碼左搜關(guān)鍵頁(yè)代強(qiáng)碼實(shí)例:溫/**味
*co例nfig.糾inc.p攀hp油
*泥括配置文件頓
*/擾
/*續(xù)蠶數(shù)據(jù)庫(kù)配夕置之*/長(zhǎng)defin污e('DB香_HOST尿','l米o(hù)calh民ost')卸;
/火/修數(shù)據(jù)庫(kù)主機(jī)盡defin團(tuán)e('DB暢_USER種','r影oot')做;
/嚼/偽數(shù)據(jù)庫(kù)鏈接源用戶(hù)逼defin畏e('DB易_PASS債',''訓(xùn));
題/輔/條連接密碼荒defin顛e('DB薯_然N游AME',倆'cms問(wèn)');
菜減/痕/魚(yú)默認(rèn)數(shù)據(jù)庫(kù)攀defin法e('DB活_PORT毛','3講306')薄;
/品/本數(shù)據(jù)庫(kù)端口夢(mèng)defin域e('DB槐_TYP怪E','珠mysql午');
斃/書(shū)/那數(shù)據(jù)庫(kù)類(lèi)型野defin援e('DB愿_OPT'矮,'1'證);
辱/羞/首是否長(zhǎng)期鏈園接戰(zhàn)/*能赤模板信息配風(fēng)置負(fù)*/焦defin西e('TP絕L_TEM媽PLATE科_DIR'緞,'./誼templ書(shū)ate/'股);
廳/溉/攀模板目錄樓defin樂(lè)e('TP促L_COM走PILE_良DIR',獨(dú)'./t甜empla村te/te感mplat退es_c/酬');/醋/迅模板編濾譯命目蛇錄帳defin典e('TP盆L_C嫁ONFIG掘S_DIR冠','.墨/te摔mplat朝e/con若figs/穴');
欺/限/趕模板配置文拐件目錄棍defin滑e('T鉤PL_CA卸CHE_D木IR',
更'./t修empla蠻te/ca閉che/'鞏);
/望/做模板緩存目欺錄斤defin棗e('TP灑L_LIF曉TTIME徒',
'樂(lè)1');
留
/躍/程緩存時(shí)間剝defin咱e('TP些L_CAC考HEING痕',
'銅true'動(dòng));
萍/溉/燕是否緩存真defin勢(shì)e('TP纏L_LEF良T_DEL領(lǐng)IMITE保R','丈{');
鋪
/簡(jiǎn)/擊左邊界符抹defin熱e企(數(shù)'TPL_目RIGHT粉_DELI選M薦ITER'踐,'}'敵);
底/剛/畜右邊界符萄/*芒扯網(wǎng)站路徑配螺置車(chē)*/升defin爸e('RO觸OT_PA侮TH',襲di嫁r(nóng)name積(__FI搖LE__)勒);
溫/澡/底網(wǎng)站所在根楊目錄香defin棍e('UR齒L_PAT鬼H',d景irnam檢e($_S杰ERVER則[PHP_擱SELF]叢));
凡/軍/濟(jì)網(wǎng)跟站尋UR劉L慮地址路徑耳defin啄e('DB意_PATH還',RO診OT_PA冤TH.'/宜inclu奧de/db版');
酬//PEA杏R::D杜B衫目錄核defin咸e('TP贏L_PAT曲H',R角OOT_P奮ATH.'禽/沒(méi)i帳nclud弊e/sma錘rty')含;析
//S丹mart雞y攏目錄呢/**饅波*sec磨urity壘.inc.梳php州
*焦拖安全過(guò)濾文砌件奴
*/材/*淋驟過(guò)濾規(guī)蜂則刮*/總$arr_鳥(niǎo)filtr矩ate=蔥arra草y("'"漲,'"'殊,"\"擔(dān));世/*稿球過(guò)濾函簽數(shù)寺*/攻funct汗ionv牌ar_fi伴ltrat眾e($va務(wù)r)省{驗(yàn)
glo嶺bal$算arr_f抗iltra塵te;脾
f友oreac羅h($a叫rr_fi襖ltrat卵eas炒$valu醉e)夾
{投砍
if碼(ere熱gi($v蠟ar,$威val鬧u丘e)){刺咳榨
ret撥urnt資rue;叔蠻陰}葬子
re飽turn尊false盆;情
}耕}哈/*揀畫(huà)獲取不同版拘本下意的粗GE頌T笨和尾POS內(nèi)T棋數(shù)為組幫*/盯if(p鴿hpver怎sion(鵲)<'伐前'){耍
$巾get=幸&$HT注TP_GE賀T_VAR劣S;港
$臉post階=&$H鍬TTP_P援OST_V雹ARS;速}els貼e{供
$亭get=叛&$_G擋ET;席
$房post徹=&$_畢POST;并}偵/*仍攔檢鋤查蔬GE展T女變蜂量藍(lán)*/鞋if(c歷o典u飯nt($g蠢et))謠{森靠forea紛ch($與post超as漠$get_娛var)歸{寫(xiě)蒙
if貧(var境_filt獸rate(乖$ge笛t_var訓(xùn))){架腔冶
exi拉t('Co別mmit杰getp立arame塵terf減alsit熟y');釋墊
}撤
}夢(mèng)}態(tài)/*彈始檢余查程POS肯T姜變舒量德*/殘if(c爽ount(補(bǔ)$post請(qǐng))){纏
f白o(hù)reac單h($p繳osta襲s$po陸st_va煎r){船睜
if牙(var姑_filt記rate(逐$post納_va滋r蠻)){館凱使侄exit插('Com超mitp趴ost環(huán)para悉meter功fals飛ity')寸;床首
}奉
}宿}案其實(shí),母以上過(guò)濾的撕方法也不是循最好的,建瞎議參考我的叨另兩篇防注目入文章獲取赴更好的方法暖,鏈接參考塞附錄。遵/**形
*er亮ror.p服hp祖
*癥干錯(cuò)誤處理頁(yè)醉面恢
*/帳if(!卷isset夕($get備[msg]揀)){詞
ex謹(jǐn)it('N渾otco援mmit旦param叫eter'逐);匯}謙echo們"Erro攻rMes循sage:漫".$穗get[m鹽sg];遠(yuǎn)echo是"溫<鍋p><a駛href=熔'java飯s喉cript醋:hist葡ory.b兵ack著()'能>沖返回上一公頁(yè)漿</a>"喜;涂就是一由些錯(cuò)誤處理厲的作用,一級(jí)般出客的姥GE裙T衣方式傳蝴遞過(guò)來(lái)的消吩息都是經(jīng)液過(guò)笑urlen郵code(席)政過(guò)的字符。滅/*底
*in牌it.in窗c.php鄭
*軟克初始化程序倡*/嘴requi惱re_on柿ce(di斬rname輸(__FI牽LE__)倉(cāng).'con幕fig.i柱nc.ph屋p');夾requi臥re_on浮ce(RO悲OT_PA偉TH.'s濕ecuri帶ty.in剛c.php列');準(zhǔn)requi哲re_on闊ce(DB迎_PATH遲.'DB.瞧php倘'展);孝requi細(xì)re_on量ce(仁TPL_P倘ATH.'雕Smart滿(mǎn)y.c宗lass.口php')亦;驕/*濱鄭初始化數(shù)據(jù)烘庫(kù)鏈勢(shì)接竹*/垮$db=緊DB::棕con眉nect(隨"DB_T爸YPE:/攏/DB_U跳SER@D想B_PAS歲S:DB_抗HOST/日DB_NA至ME",隙DB_OP派T);握if(D寧B::is窩Erro(愿$db))篩{蓮
r食eturn倉(cāng)$dg-夠>getM種essag稅e();難}菌$tpl掀=&ne啊wSma勉rty()坊;鄰/*坑璃初始化模們板抬*/轎$tpl-充>temp因lates仰_dir之=TPL睡_TEMP湖LAT手E茅_DIR;鋸$tpl-督>comp劫ile_d縣ir=須TPL_C嘉OMP雹ILE_D烈IR;貨$tpl-輪>cach基e_dir召
=T吐PL_CA滴CHE_D剃I品R;腰$tpl-癢>conf懶igs
何=TPL乖_CONF天IGS_D符IR;緒$tpl-衛(wèi)>life特time
慘=TP雁L_LIF泄TTIME影;搬$tpl-竟>cach裕ing
疾=TPL悼_CACH紀(jì)EING;傘$tpl-捆>left板_deli牲miter品=TP病L_LEF里T_DEL般IMITE魂R;態(tài)$tpl-買(mǎi)>righ膏t_del熄imite捕r=T慰PL_RI腳GH撈T_DEL錯(cuò)I融M狼ITER;販基本文棉件描述完畢駁。代碼寫(xiě)了遍不少,只是術(shù)為了更好的尋理解這個(gè)模洋式。嚴(yán)到四、框架實(shí)春際開(kāi)發(fā)承說(shuō)明:撲我們以下項(xiàng)帶目代碼都是騾以熊cm斗s證數(shù)據(jù)庫(kù)侄中智t清opi咐c于表做例子,求代碼只是為甲了演示框架書(shū)結(jié)構(gòu),沒(méi)有勇對(duì)代碼進(jìn)行架測(cè)試,不保缸證能夠正常事運(yùn)行。批紅垮topi狂c看的表結(jié)構(gòu):始CREAT如ETAB切LE`t冠opic`補(bǔ)(六
`id宿`int慌(11)研NOTN爪ULLa廢uto_i航ncrem鬧ent,非
`ti萌tle`泳varch犁ar(25鑼5)NO疲TNUL畢Ldef法ault刮'',園
`ad警dtime仙`仆int(1及1)de泳fau壘ltNU雨LL,汪粱`aut蝶hor`蒙varch及ar(譯50)d莖efaul垂tNUL濾L,子
`ty溜pe`i華nt(11寄)def延au化ltNU兼LL,付
`op平tion`質(zhì)int(片11)d勞efaul雙tNUL定L,先
PRI潮MARY挎KEY
順(`id`制),摧
KEY訪`id`古(`id浩`)灌);咳(一躲)惹Dat餅a陣層:數(shù)據(jù)采必集層寺馳屆Dat攤a喚層主要就是憲針對(duì)數(shù)據(jù)庫(kù)備的所有操作啄都封裝起來(lái)遼,然后通過(guò)幻接口的形式巖提供隸給壯Ph倍p席層進(jìn)行調(diào)用伸,同時(shí)低在巴Dat丹a決層里也封裝性了一些原始向的數(shù)據(jù)庫(kù)操奧作(類(lèi)似載于皮Jav帥a燭中旨的故DA摸O漲)省。閑一襪般剖Dat幅a奶層都是舌類(lèi)的形式,住保存在我們讓上面佩的毀/cla嚷s闊s蔑目錄下,一針般的準(zhǔn)則是堡一個(gè)類(lèi)文件樹(shù)操作一個(gè)數(shù)括據(jù)表,就是督說(shuō)不管具體失的業(yè)務(wù)邏輯勺如何,張所有的數(shù)據(jù)它表操作都是駁封裝在一個(gè)維類(lèi)文件里的山。比如說(shuō)我濟(jì)們有一個(gè)數(shù)久據(jù)表叫碑做燭topi趨c原,那么我們訊對(duì)應(yīng)操作的腹類(lèi)文件就是言:能topic翻.clas目s.ph歸p權(quán)。其實(shí)這里到是可以做擴(kuò)甘展的,比如腎說(shuō),我們的汽項(xiàng)目非常龐船大,有很多鼻內(nèi)容,比如裝包括頭有掃CM縮S詞、察Blo父g稼、誤BB婆S墨等等,那么悄我們就必須得給每一個(gè)欄錫目分配一個(gè)盯數(shù)據(jù)庫(kù),那律么針對(duì)當(dāng)前苗操作數(shù)據(jù)庫(kù)欄的話,就使窄用類(lèi)中封裝鈴的鏈接方法鍛進(jìn)行鏈接,浴就可以拋棄刃我們上欣面緒init隨.inc.乳ph模p月中初勇始化的操作倉(cāng),而操作在刊類(lèi)里面進(jìn)行潛的鏈接。拜假設(shè)我王們目前操作舟的欄目塌是廉CM紅S戶(hù)系統(tǒng),數(shù)據(jù)迅庫(kù)名叫哄做渣c(diǎn)m億s歐,那么我們劃下面構(gòu)造著一個(gè)操稀作肚cm宜s麗數(shù)據(jù)庫(kù)里面具的港topi脾c瓶表的類(lèi)來(lái)。趟/**哲
*cm恐s_top初ic.cl東ass.p臭hp桃
*蝕咸文章處理類(lèi)覺(jué)
*/仔class恭cmsT鳳opic技{喉
var億cmsDB霧Name;儉
/惰/慌數(shù)據(jù)庫(kù)名眼
var確cTabl底eName奸;
/鍵/伴當(dāng)前操作的瞇表名缸
var諒cDsn;貸
/騎/盒數(shù)據(jù)鏈接源僵
var喬cDebu鳥(niǎo)g;
/氣/起是否打開(kāi)調(diào)僻試刻,賤1陽(yáng)為是楊,應(yīng)0方為否子
var忘c(diǎn)DbP掛ointe剩r
/購(gòu)/謙鏈接資源藝
var懸cfe均tchMo昂de
/堤/介獲取數(shù)據(jù)庫(kù)秩資料的方式團(tuán)
var估cEnco昨de
/讓/植數(shù)據(jù)滲庫(kù)中數(shù)據(jù)保粗存的編碼格顧式,默認(rèn)必是禁UTF-8鄉(xiāng)
/*秒盒構(gòu)造函感數(shù)廣*/脈
func引tion松cmsTo己pic()她
{色
/蹄/塊配置信息鞠從慰confi矮g.inc迎.ph亦p蛾中設(shè)置它
$th算is->c灣fetch畫(huà)Mode嬌=DB_刺FETCH政MODE_白DEFAU褲LT;禽
$th息is->c索Table湯Name田="to殿pic";竹
$th內(nèi)is->c抗Dsn=狼"mys乳ql://頭".躲辰
DB_給USER.令":".溜
DB燒_PASS鳴."@爛".適
DB悟_HOST傍."/".鬧
DB名_NAME它;跟
$th爭(zhēng)is->煉cEnco撕de=便"utf8府";秧
}威
/*揀察鏈接數(shù)據(jù)問(wèn)庫(kù)挺*/迫
func般tion惜conne完ctDat畝abase窗()板
{雪
if典(!is_摘objec疊t($cD餅bPoin道ter))適搖
{碑
$t非his->速cDbPo姓inter默=DB暮::con宋nect(騙$this孤->cDs肺n);勝
if短($th冶is->c飲Encod扎e=="u懷tf8")擠{尊
$祥this-阻>cDbP祝ointe押r->qu公ery("目set敗name騰s'ut號(hào)f8'")題;筋
}登
$t港his->貴cDbPo姓int桐er->s棚etFet貼chMod鉆e($th腫is->c丸fetch訊Mode)掩;創(chuàng)
if扒(DB:杰:isEr明ror($紀(jì)this-花>cDbP椅ointe紡r)){臉
r謎eturn歐fals勁e;需
}封
re遞turn游$this迅->cDb答Point穗er;元
}顛
}賞
/*盼暮關(guān)閉數(shù)據(jù)庫(kù)把連絹接甩*/蘇
func遵tion撐close挽Datab被ase()迫
{恨
if現(xiàn)(i憤s_obj策ect($菜this-胡>cDbP爽ointe秒r))漆{榜
$t合his->請(qǐng)cDbPo摩inter屆->dis擠conne劈c(diǎn)t();倍局}脈
}濁
/*--梳-----撤-----炭---甘禁數(shù)據(jù)庫(kù)基本睬操姻作暢----愈-----肝-----鑰*/鞠
/*蚊域插入操蛙作沒(méi)*/友
func儀tion葡inser溪t($ar蓬r)閥
{功
if(諒!is_a叢rray(務(wù)$arr)大||c說(shuō)ount(隨$arr)僑==0齡){羨
re翁turn和false洽;腸
}焦
if(斷""==妨$thi求s->cT脫ableN重ame)污retur停nfal矮se;鉆芳$db遠(yuǎn)=$th扎is->c扭onn抹ectDa炮tabas鼓e();斜
$re滴s=$娘db->a笛utoEx韻ecute巖($thi階s->cT焰ableN刻ame,$巷arr,D嶺B_AUT緞OQUER證Y_INS礎(chǔ)ERT);尊遙
if(魯DB::i獄sErro壟r($re俯s)){貍
re徒turn景$res;陣
}el椒se{統(tǒng)
$i枯nsert詞Id=滋($db-播>getO壽ne("s著elect悠LAST托_INSE搶RT_ID奸();")屈);叢
if抬($ins嘆ertId籮>0)碑{叔
r宋eturn采$ins俊ertId掙;幻
}送else爪{薄
r艱eturn憶true郵;贊
}譜
}列
}犯剩
/*殼甚更新操鞏作桶*/悼斷funct淡ionu齒pdate蓋($id,涂$arr)味
{辣
if(量""!=譜$id券&&!(碗is_ar鉗ray($艷arr))竭){啟
re逐turn惠false群;詳
}席
$db朗=$t海his->址conne急ctDat機(jī)abase級(jí)();界
$re輕s=$翠db->a害utoEx扎ecute印($thi栽s->cT邁ableN墊ame,$占arr,D健B_AUT醬OQUER慮Y_UPD陵ATE,"踏id=慶'芝$id'"波);麥
if(油DB::i跳sErro喘r($re收s)){添
re衫tu畜rnfa博lse;擺
}el是se{炮
re圈turn走true;棟
}痛
}希
/*坑旬刪除操識(shí)作欣*/帆
func略tion徐delet椅e($id晨)夫
{奇
$db序
=$車(chē)this-息>conn什ectDa蜻tabas景e();哭
$re袖s=$混db->q歌uery(鉆"DELE荒TEFR蜓OM".汽$this蹄->cTa誦bleNa嘉me."驗(yàn)WHERE畢id=粥'$id拖'");餃
if(昨DB::i陣sErro嘗r($re眨s)){趴拆
ret番urnf失alse;織
}el謀se{鏈
re宋turn采true;躬
}原
}哄}濤上面的腫代碼一療個(gè)很基本的待針對(duì)一個(gè)表碧操作的類(lèi)雛魯形已經(jīng)描述窩出來(lái)了,包汽括連接數(shù)據(jù)數(shù)庫(kù),基本的型數(shù)據(jù)庫(kù)原始腔操作都有了邀。你肯定會(huì)極問(wèn),為什么墊沒(méi)有哲把練selec眉t理的操作封裝售進(jìn)去?主要偉是因廁為將selec團(tuán)t賢是選SQ句L煙里最復(fù)雜的斤操作,不可統(tǒng)能寫(xiě)那么通剃用的一個(gè)方坐法去操作它匹,所以好不罵如不寫(xiě),自授由發(fā)揮。帶那么我禽們需要加上兼一些基本的添功能呢?比液如讀取內(nèi)容聾、新增加一艱篇文章等操除作,那么我這們還必須在希類(lèi)里面添加怠一些方法,誼比如我們?cè)鏊犹崛∫黄孜恼聝?nèi)容、金提蓮取指定時(shí)間蝦的文章、提備取指定類(lèi)別剃的文章、統(tǒng)捉計(jì)目前所有燈文章的總數(shù)允等操作。示/**爆
*cm霉s_top優(yōu)ic.cl嶼ass.因php薄
*間碑文章類(lèi)增強(qiáng)續(xù)
*/布class辮cmsT忙opic饞{紅
//.言.衰.尊上面已經(jīng)描弄述的方法省須略繞
/**秩
*襯掠函概數(shù)紗:get俗Topic射Conte比ntByI貧d()伐
*懲酒功爽能?chē)L:蹦面獲取指懂定竭I暫D尺的文章的內(nèi)攏容抽
*形伯參朝數(shù)碎:$id竿鞏叔指定要獲取聽(tīng)的比ID毛米*主儉快$col垃s
嶺聯(lián)要提取的字巴段值座
*馬擴(kuò)返咸回遮:慘慘成功返回?cái)?shù)紡據(jù)集數(shù)組,即失敗返回錯(cuò)戒誤信息節(jié)
*/生
func滲tion危get宵Topic奶Conte略ntByI億d($id芹,$co只ls="*綁")估
{烏
$db胖=$t候his慣->con單nect甚Datab椒ase($宋this-陶>cDsn手);井
$sq濃l="勞SELEC雕T$co駛lsFR模OM".肝$thi小s->cT橫ableN方ame.命"WHE卷REid隱='$涉id'";暫
$re根sult晝=$db冶->get晉All($嚼sql);券
if喊(DB::致isErr碑or($r嚼esult架)){貨
re戲turn蛋$resu輔lt->g購(gòu)etMes域sage(造);闊
}e粘lse{濃
$d婚b->di扶sconn京ect()沈;小
re脂turn鑼$resu先lt;鞏
}月
}員
/**葬
*穩(wěn)餃函施數(shù)蟻:get朵Topic亡BySpe止cifyT境ime()少
*充嚴(yán)功速能鴿:鍛啊獲取指定時(shí)鑄間的文章的閥列表叉
*芳汁參憲數(shù)棗:$st守artTi計(jì)me含曬指定開(kāi)始時(shí)糧間廁邀*賞奇鉆$end醫(yī)Time計(jì)赤結(jié)束時(shí)間除
*
懇$cols折話哨要提取的字撈段值扶
*脊起返投回盾:化派成功返回?cái)?shù)肺據(jù)集數(shù)組,咱失敗返回錯(cuò)拴誤信息勾
*/般
func骨tion濕getTo此picBy打Speci農(nóng)fyTim檢e($st夏artTi筆me=0,蚊$end托Time=展0,$c慣ols="某*")們
{搭
$db柳=$t糟his->弟conne毅ctDat可ab鼓ase($翅t(yī)his憑->cDs咬n);我
$st吵art=艘($st守artTi勉me==撒0)?外"":厚"WHE印REad憶dtime披>$s番tartT通ime";覺(jué)
$en踏d=(闖$endT矩ime=藥=0)乒?""格:"AN刑Dadd猴time背<$st鴉artTi蘇me";僅
$sq苦l(xiāng)="荷SELEC嫁T$co因lsFR描OM".筒$thi浮s->cT牌ableN賄ame.吃"".$嗓start葉."古".$e隱nd;啄
$re雅sult挽=$db榨->get柔All($壤sql);鬼
if擔(dān)(DB:礙:isEr愚r(nóng)or(均$resu洗lt))炊{區(qū)
re靈turn蒸$resu廟lt->g裕etMes岔sage(恭);常
}e鏈lse{財(cái)
$d屑b->di顛sconn簡(jiǎn)ect()集;壯
re墓turn艇$resu訂lt;患
}辮
}研
/**棉
*跨車(chē)函宗數(shù)拆:get貞Topic禿ByTyp躁e()鴿
*展粱功濱能迫:膠恢獲取指定類(lèi)好別的文章的市列表游
*湖領(lǐng)參旦數(shù)蝕:$ty每pe
臟犯指定的類(lèi)型忽
*
陪$cols噴毛拍要提取的字叉段值駁宜*饅鉗返嗓回齊:悉飾成功返回?cái)?shù)煮據(jù)集數(shù)組,設(shè)失敗返回錯(cuò)酷誤信息矮
*/是
func您tion映getTo粘picB康yType斬($ty炊pe,$浸cols=遮"*")袍
{稻
$db狗=$t兔his->窯conne遠(yuǎn)ctDat劃abase移($thi摔s->cD革sn);暮
$sq鉗l="塵SELEC健T$co貨lsFR臺(tái)OM".敗$thi舅s->cT啊ableN隨ame.趨"WHE保REty掏pe=嘗'$typ福e'";勺
$re慨sult醫(yī)=$db穴->get根All($呆sql);震
if魄(DB::價(jià)isErr敲or($r輝esult今)){薪
re替turn椅$resu嘩lt->g伐etMes鄰sage(蜂);脅
}e廚lse{咱
$柔db->d圈isco屢nnect拐();套
re昆turn桐$resu乎lt;慮
}慣
}掛呢
/**亭
*鞭倍函盟數(shù)充:get坡Topic際Sum()飼
*徐齊功四能箱:掏虹獲取所有文靠章總數(shù),如畫(huà)果指定類(lèi)別獻(xiàn),則獲取指令定類(lèi)別總數(shù)春
*碧近參前數(shù)糞:$ty勤pe
辨提指定的類(lèi)型捎
*我拖返惠回記:罪口成功返回獲潤(rùn)取的總數(shù),盯失敗返回錯(cuò)剪誤信息舒
*/馬
func幟tion奉getTo診picSu烏m($ty乞pe=""朋)捕
{脾
$db失=$t仰his造->con謹(jǐn)nectD置ataba晚se($t臟his->挑cDsn)已;隱
$ty毫peStr政=($廉ty語(yǔ)pe==唐"")曉?""指:"逢WHERE素type浪='$棉type'擱";資
$sq振l="縣SELEC蓋Tcou喝nt(id擊)FRO賢M".序$this燦->cTa駱bleNa君me."睬".$t紡ypeSt撫r;攜
$re堪sult誠(chéng)=$db能->get洽One($輩sql);姑
if錦(DB::駁isErr末or($r婚esult伙)){征
re遞turn范$resu災(zāi)lt->g鞋etMes碗sage(梅);育
}侄else耐{諒
$d初b->di金sconn偽ect()更;括
re離turn仇$resu劍lt;酒
}略
}飛}起上面我霞們構(gòu)造了一溉些數(shù)據(jù)提取越類(lèi),這應(yīng)該蠅就是我畏們問(wèn)Dat倒a貓層的核心了采。寫(xiě)方法的鴨時(shí)候要盡量堆考慮到擴(kuò)展甘性,比如對(duì)洞列的提取,恨比如一個(gè)方仇法適合多種慮情況,比如軟排序等等,沿考慮的越多彎,以后維護(hù)娃起來(lái)就比較邀容易,當(dāng)然臥,我推薦的凝方法是一個(gè)息方法盡量就怠做一件事情寨,如果一個(gè)背函數(shù)要做多慨個(gè)事情,那稈么就寫(xiě)成多址個(gè)函數(shù),這仗樣便于代碼迫重用和維護(hù)輪性,我個(gè)人以認(rèn)為一個(gè)方娃法最用不要販超杯過(guò)聚10昌0竊行?;既绻灁?shù)中有涉及緞到數(shù)據(jù)庫(kù)的誦操作,一定腹記得陳結(jié)尾的時(shí)候若把數(shù)據(jù)關(guān)閉慣掉,不然很愁容易把服務(wù)時(shí)器資源占用醬光。當(dāng)然,柴你也可以驟在美PH沾P味層去關(guān)閉連塵接。比如,勤你高需要很多次面調(diào)用同一弟個(gè)方法,那墳么這個(gè)方法唐如果反復(fù)的湖連接數(shù)據(jù)庫(kù)矩又關(guān)閉數(shù)據(jù)梅庫(kù),也很浪應(yīng)費(fèi)資源,而煉且速度慢,門(mén)這個(gè)時(shí)候就擁可以把關(guān)閉著數(shù)據(jù)庫(kù)的操艷作鞋在區(qū)Ph璃p銳層進(jìn)行關(guān)閉洽,你可以先鳳構(gòu)造好一個(gè)賞方法來(lái)進(jìn)行堪,比如我們羽上面殖的伏c(diǎn)los果eData棟base(筑)姜?dú)v方法。顛(二饒)犬Ph典p逆層:數(shù)據(jù)調(diào)舌用層劈爐歸PH蛾P(guān)特層主要就是水把遇從序Dat討a擺層收集的數(shù)幅據(jù)再這一層例進(jìn)行調(diào)用。妹因?yàn)槲覀兓卤镜脑瓌t就站是把所有跟徑數(shù)據(jù)庫(kù)的操五作都封裝揉在謙Dat唱a平層里,在其澆他層都不涉探及到任爭(zhēng)何的直接對(duì)矛數(shù)據(jù)庫(kù)的操拉作,這樣能音夠進(jìn)行良好諒的封裝,這疼樣有點(diǎn)類(lèi)似影于負(fù)JS套P困和趟Javab首ea谷n卵,任Java欺bea販n貪的類(lèi)負(fù)責(zé)和胸?cái)?shù)據(jù)庫(kù)交互糞,凍JS漆P協(xié)負(fù)責(zé)調(diào)獄用悠Javab擦ea熊n鋪來(lái)輸出數(shù)據(jù)贊。我們這里陰的位PH項(xiàng)P貸層就相當(dāng)弱于虜JS手P貧層,前面券的次Dat墻a歉層就相當(dāng)臣于率Javab盾ea演n籠層,這樣玻般璃他們之間拆的耦合度,道能夠方便程懼序日后的維化護(hù)。罰我們這暖里昂的緩PH拐P輩層主要就是跪復(fù)雜從數(shù)據(jù)瘡庫(kù)種提取數(shù)剃據(jù),完成一愛(ài)些簡(jiǎn)單的邏韻輯,然后把匠數(shù)據(jù)輸出虧到帝Templ通at嬌e譯(模板層)夏。現(xiàn)在我們繩利用示例代義碼來(lái)看江看陽(yáng)PH青P陳層是如何調(diào)緣用幅Dat錢(qián)a尸層的數(shù)據(jù)的科。壯/**醒
*to勵(lì)pic_梢list.晉php絕
*閑匆文章列表程來(lái)序笛
*/干/*咱傅包含基本文邪件鏡*/垮requi葛re_on米ce(淋"init鉛.inc將.php"扣);腳requi智re_on身ce("c什lass/典cms_t堅(jiān)opic.喝class幸.php"東);喜/失/籌實(shí)例臣化多Dat怎a隸層對(duì)象架$topi賄c=n老ewcm劍sTopi摔c();貸/禮/劈獲取文章類(lèi)寇型變量留$topi仁cType認(rèn)=in驚tval(度get("床type"貓));遲/儲(chǔ)/靠從尤Dat判a燃層中把數(shù)據(jù)器提取過(guò)來(lái)竟$topi雞cList讀=ge欺tTopi嘗cByTy銀pe($t擋opicT撐ype);菌/環(huán)/箭給模板變孤量賦值后輸打出頁(yè)臭$tpl-副>assi崖gn("t貴opic"制,$to棉picLi蓮st);杜$tpl-此>寄assig厲n("t踩opic.依html"株);甜代碼是炸不是很簡(jiǎn)單率?就是把數(shù)乘據(jù)獲取過(guò)來(lái)錫,然后解析潮到模板層中主去處理,所側(cè)以這樣如果端以后出現(xiàn)問(wèn)脈題改起來(lái)比剖較容易,比房如是數(shù)據(jù)獲基取的問(wèn)題,棉那么直接改惱上面的類(lèi)文槐件就行,如孤果是模板顯乖示的問(wèn)題,稱(chēng)那么直接修帽改模板層中寄的對(duì)應(yīng)的模床板頁(yè)就可以嶺,非常便于淹維護(hù)。昌(三竭)碧Templ怖at歷e誤層:模板層紀(jì)這個(gè)模素板層就是我游們常說(shuō)的網(wǎng)丈頁(yè)了,不過(guò)目這里就是包紹含了一攀些垃Smart菊y掘的模板變量宇和去HTM以L繼混和露,模板頁(yè)處仁理的時(shí)候就和對(duì)頁(yè)面中的符模板變量進(jìn)貪行替換,最欄后我們看到先的結(jié)果就是艙模板頁(yè)妙和泄PH態(tài)P尋層中的程序牌輸出扯混和的結(jié)果打。槍塌一般模板頁(yè)轟設(shè)計(jì)的時(shí)候準(zhǔn),最好遵米循漂We賤b質(zhì)標(biāo)準(zhǔn),就是翠說(shuō)盡量在頁(yè)丑面中不使用叫表格擱等愧htm鋤l艱標(biāo)簽來(lái)控制盞頁(yè)面,而是概使聲用鍛di體v舍層來(lái)存放數(shù)誕據(jù),使粘用捎cs事s皮樣式表來(lái)控爸制頁(yè)面布局墳,這樣對(duì)包獸括扇JavaS噸crip停t奔腳本的編寫(xiě)額,以后頁(yè)面霧的改版等等甜非常有好處卸。而且如果刮要還模板也數(shù)很簡(jiǎn)單,只貸需要胖把撤cs惕s胳文件替換就半可以達(dá)到效訴果。當(dāng)然,志如果愚對(duì)鹽we啞b逃標(biāo)準(zhǔn)不了解適,那么建議樹(shù)去閱讀一下媽《網(wǎng)站重構(gòu)握》這本書(shū)。踏我們下訊面就簡(jiǎn)單的矩描述一肯下麻T(mén)em裕plat圍e粘(模板層)勤的代碼是如鏈何的。西{*幻悶加載頭部文蠟件劍*}劇{incl捐udef吹ile="盞h茂eader腹.htm洞l"}挽{*號(hào)鼠模板主聲體懸*}鮮<div>掙
{*鹿凱左邊導(dǎo)航船條興*}高</div埋>艘<div>圣
<h3傲>千文章列牛表無(wú)</h3>剃
{sec腸tion首name=購(gòu)topic杰List兼loop=釋$topi籃c}肢御羅標(biāo)題自:圍<ahr素ef=""既>{$to龜pic[t砍opicL殃ist].譽(yù)title蜻|esca葉pe:"h臺(tái)tml"|慎trunc智ate:3抹0:"..蛛.":tr哲ue}</定a>|申信姥時(shí)間出:鄉(xiāng){$top叮ic[敢topic炊List]梁.addt級(jí)ime|d四ate_f哪ormat萍:"%服Y騙年鞭%串m下月純%吧d次日介"}|筍乖刑作尺者漢:弟{$top陪ic島[topi趕cList孤].aut再hor|e蝕scape敗:"htm更l"}<b稀r/>敵
{sec殺tione姥lse}堡猜現(xiàn)暫時(shí)沒(méi)有任旦何文章渡
{/se開(kāi)ction辨}米</div券>健{*惡煮加載底部文純件痕*}丘{incl撓udef據(jù)ile="脈foot.絹html"替}糧模板頁(yè)愁中大致可能心有一根些留JavaS辛crip醉t歪程序,或者貌有樣式文件轎,一般使用寧樣式文件來(lái)邊控制頁(yè)面的廊布局和顯示慚效果。我們塘這里沒(méi)有詳憤細(xì)的描述,安在實(shí)際項(xiàng)目攜中可以由網(wǎng)胃頁(yè)制作人員斷去負(fù)責(zé)。界商五、使愈用惠DP勁T輪模式的項(xiàng)目澇規(guī)劃鑒一般在足所有的軟件貢項(xiàng)目或者是蘇網(wǎng)站坡項(xiàng)目中,要漁保證一個(gè)想項(xiàng)目能夠順客利完整的完型成,那么便歪需要技術(shù)主土管或者架構(gòu)就師良好的設(shè)往計(jì)和管理。包一般所有項(xiàng)改目中人是最甘難控制的因企素,你可以飾把項(xiàng)目指定薯的非常完善控,架構(gòu)可以傻選擇的非常吼合理,但是同你不能控制相人的因素,伐不能保證項(xiàng)盜目的中的某公個(gè)成員可能懼在任何時(shí)候爺離開(kāi)項(xiàng)目。蓬當(dāng)干在電PH但P妄項(xiàng)目中,如江果一個(gè)項(xiàng)目畫(huà)角色忽然的房離去,可能丹導(dǎo)致項(xiàng)目要般停頓,要重做新找人來(lái)接打替,影響了丹項(xiàng)目的進(jìn)度調(diào),那么如何海有效的控制湊和解決這些蠟問(wèn)題。渡在一個(gè)癢使必用范DP贈(zèng)T宇設(shè)計(jì)模式嫁的項(xiàng)目中,消項(xiàng)目中個(gè)個(gè)朱角色分別有券網(wǎng)頁(yè)設(shè)計(jì)師霞、網(wǎng)頁(yè)制作到人員、客戶(hù)檢端腳蘇本陸JavaS木crip摧t耍程序員、服梢務(wù)辰器摧端嫂PH沙P監(jiān)程序員。菊他們的分工侄都是什么呢獲?網(wǎng)頁(yè)設(shè)計(jì)環(huán)師負(fù)責(zé)設(shè)計(jì)妙網(wǎng)頁(yè)的界面法,生成效果足圖,然后由鄭網(wǎng)頁(yè)制作人格員去做成網(wǎng)齒頁(yè),當(dāng)然,乖如果是遵舟循難We路b韻標(biāo)準(zhǔn)的項(xiàng)目任的話,那么忙網(wǎng)頁(yè)制作人壟員主要的任其務(wù)就是負(fù)責(zé)辨頁(yè)面布局樣貝式的編寫(xiě)。錢(qián)客戶(hù)端程序瓦員主要是負(fù)滑責(zé)客戶(hù)端腳茅本的編寫(xiě),肢比如針對(duì)頁(yè)別面中需要使糠用廳的銳JavaS矩crip買(mǎi)t濫進(jìn)行編寫(xiě)棉,戒PH零P軟程序員主要令是負(fù)責(zé)我們魔上哈面徑Data王&PHP踢&Te猜mplat示e脊?jié)娙龑拥拇a華編寫(xiě),當(dāng)然故,如果項(xiàng)目假足夠龐大,介完鄭全可以拆分丹出來(lái),燈有金PH溪P盯程序員負(fù)膀責(zé)沿Dat陸a像層,爹有錄PH舉P且程序員負(fù)終責(zé)賠Ph嘆p毛和轉(zhuǎn)Templ錦at杏e婆層,分工清徑晰偽,房Ph食p島層程序員綠只是需要調(diào)添用勒Dat邪a笑層程序員已某經(jīng)寫(xiě)好的類(lèi)頃庫(kù)進(jìn)行調(diào)用載,不用關(guān)心準(zhǔn)類(lèi)是如何實(shí)?,F(xiàn)的。晚這樣一濱個(gè)項(xiàng)目架構(gòu)啄下來(lái),可以?xún)舭凑杖蝿?wù)需漆要來(lái)安排某讀個(gè)模塊的人豎的數(shù)量,最劃大限度的把橫項(xiàng)目規(guī)劃好怒。當(dāng)然,項(xiàng)低目中一些必槐要的因素是積要考慮的,始比如,如何較讓網(wǎng)頁(yè)制作煌人員、客戶(hù)撫端腳本程序贏員哪和救PH輸P柱程序員良好垂的合作,那祖么就是分離盤(pán)他們的責(zé)任踏,比如,模折板頁(yè)必須劇由累PH誘P奏程序員來(lái)編中寫(xiě),然后提邀交間給撕JavaS末crip船t去程序員制作義客戶(hù)端腳本援,最后再么由網(wǎng)頁(yè)制作姥人員通缸過(guò)咐CS放S狗來(lái)控制布局泊,那海么崗Ph粥p宗程序員在模束板頁(yè)中就必漲須使夾用賴(lài)di濤v摩等標(biāo)簽來(lái)定駕義一個(gè)塊的殃數(shù)據(jù),如果橡任何一塊春出了問(wèn)題,響那么對(duì)應(yīng)找菠相應(yīng)責(zé)任人封,就能夠很暮好的避免彼宵此推卸責(zé)任釘,或者權(quán)責(zé)馬不分的情況申,這樣有利隙于管理,也添有利于每個(gè)拿開(kāi)發(fā)成員之志間的良好合劃作。獎(jiǎng)為了防豎止項(xiàng)目失控裝,或者不會(huì)墓因?yàn)轫?xiàng)目成支員的離開(kāi)而溝影響項(xiàng)目的表進(jìn)度和管理掏,必須有相巨應(yīng)的方法和翻規(guī)則。我們鼓主要針誼對(duì)荒PH珍P惡程序員來(lái)進(jìn)列行描述,部雹分方法同樣喝適用于網(wǎng)頁(yè)健制作人員和份客戶(hù)端腳本晉程序員。錫握(邊1?。┚幋a規(guī)范態(tài)項(xiàng)目開(kāi)駐發(fā)中為了便稠于維護(hù)和以彼后其他人接栽手代碼,必龜須統(tǒng)一弊編碼規(guī)范,緞包括對(duì)目錄公、文件名、撇類(lèi)、函數(shù)、安變量、注釋駛等等都必須鑼遵循標(biāo)準(zhǔn),舉而且為了代摧碼的維護(hù),的必須要丟求標(biāo)PH磁P絞程序員編寫(xiě)沿注設(shè)釋。目前基件本遵循的翻是門(mén)Fredr緒ikKr雨istia忙nse槐n染寫(xiě)的沈《宿PHP殘寒編碼規(guī)范》垃,或者叉是院PEA戲R載中代碼的規(guī)緊范??兹绻鷽龃a為了做成貝接口,或者變需要做成參緞考的文檔方象便以后維護(hù)訊代碼,使衰用農(nóng)phpDo術(shù)c妥等工具,那之么為了能夠鋼使爬用絞PEA日R鎮(zhèn)包中棕的議phpDo壯c公能夠正常識(shí)皮別,所以一理般建議遵揀循圖PEA蜻R狡包的規(guī)范,差主要柄是打DP亭T慨模式陜中棋Dat府a(chǎn)床層中類(lèi)的的前編碼必須規(guī)之范。咬共刻PEA課R贊中傲pear.元ph厲p飄中基類(lèi)的部版分代碼:鹽class波PEAR啟{也
/第*香戶(hù)屬性的描繪述抱*/略
/苗/{{{胡prop套ertie哭s帳
/先**翠恥*Whe侵ther覺(jué)toen歸able仇inter舞nald客ebug構(gòu)messa溝ges.炕卷*陸著*@va思r
袍bool濁詠*@ac糕cess
煎priv巴ate劣維*/水
v報(bào)ar$_能debug斗=fa毛lse;忘融
/石/棵其他屬性省怪略釋...盟
/掙/}}}聚
/蛙*沒(méi)咬對(duì)方法的描燙述刻*/姥
/抽/{{{狡c六onstr債uctor盟
/岸**扣哥*Con霉struc貼tor.
塔Regi早sters片this朽obj炒ecti肝n享捆*$_P漂EAR_d云estru繭ctor_乞objec久t_lis臟tfor運(yùn)dest詞ructo近remu乎latio睬nif喇a(chǎn)化綁*des幕truct途orob陪ject亦exist炸s.銅筍*謊跌*@pa辦rams腫tring垮$err晉or_cl遣ass
希(opti兩onal)步whic席hcla鋒ssto敵use緊for賓蟲(chóng)*
丈
e
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 16520:2025 EN Tourism and related services - Restaurants and catering - Vocabulary
- 2024年環(huán)境污染治理技術(shù)與工程合同
- 2024年特許連鎖合同:美容護(hù)膚品牌連鎖經(jīng)營(yíng)
- 船舶英語(yǔ)課程設(shè)計(jì)
- 液壓課程設(shè)計(jì)集成塊
- 統(tǒng)計(jì)表微課程設(shè)計(jì)
- 箱蓋機(jī)械制造課程設(shè)計(jì)
- 文科課程設(shè)計(jì)個(gè)人日志
- 背景圖高級(jí)課程設(shè)計(jì)
- 物體旋轉(zhuǎn)課程設(shè)計(jì)思路
- 一次顯著的性能優(yōu)化
- 《中國(guó)近現(xiàn)代史綱要(2023版)》課后習(xí)題答案合集匯編
- 黑龍江省建筑工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)DB23-2017
- 自貢?shū)欪Q化工股份有限公司20萬(wàn)噸離子膜燒堿等量搬遷升級(jí)改造項(xiàng)目
- 醫(yī)院關(guān)于成立安全生產(chǎn)領(lǐng)導(dǎo)小組的通知
- 【施工方案】空調(diào)百葉施工方案
- ppt模板熱烈歡迎領(lǐng)導(dǎo)蒞臨指導(dǎo)模板課件(15頁(yè)P(yáng)PT)
- 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)1
- 腦卒中的腸內(nèi)營(yíng)養(yǎng)支持
- 電業(yè)安全工作規(guī)程——電氣部分電業(yè)安全工作規(guī)程
- 基于穩(wěn)態(tài)模型的轉(zhuǎn)差頻率控制的交流調(diào)速系統(tǒng)的仿真與設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論