
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
[10]。第四章系統(tǒng)總體設(shè)計(jì)4.1功能設(shè)計(jì)交互式聊天室系統(tǒng)主要的功能有:用戶登錄、個(gè)人聊天、多人聊天、查看及修改個(gè)人信息、發(fā)送表情、更改字體大小、對(duì)當(dāng)前的聊天界面進(jìn)行清屏和搖一搖等。如圖4.1。其中用戶登錄功能,是用戶進(jìn)入聊天室的第一步,通過(guò)對(duì)用戶的登錄注冊(cè)可以對(duì)用戶進(jìn)行良好的管理和規(guī)劃。個(gè)人聊天又指私人聊天,通過(guò)一對(duì)一的聊天,方便用戶與用戶之間的溝通。而多人聊天是一種一對(duì)多的模式,在這個(gè)模式里,用戶可以看到其他用戶在公眾頻道的發(fā)言。從而達(dá)到群聊的功能。查看和修改個(gè)人信息主要是為了方便用戶的個(gè)性化設(shè)置,用來(lái)區(qū)別和其他用戶,也可以彰顯用戶本身的個(gè)性。系統(tǒng)中還有添加表情,更改字體大小等一系列附加功能,這些功能可以讓用戶的聊天充滿趣味性,而不單單只是文字的聊天,使用戶和用戶之間有更好的交互。此外通過(guò)對(duì)聊天界面清屏功能的添加,讓系統(tǒng)有更好的用戶體驗(yàn)。使界面的信息不會(huì)有太多的冗余。最后還添加了搖一搖的特色功能。這個(gè)功能可以使用戶在無(wú)法確定想跟哪個(gè)用戶聊天室,讓用戶可以通過(guò)搖一搖的功能隨機(jī)匹配到一位用戶與之聊天。給了用戶更多的選擇性。通過(guò)對(duì)系統(tǒng)功能全面的設(shè)計(jì),使聊天室系統(tǒng)有更多的用戶體驗(yàn)。圖4.1功能設(shè)計(jì)4.2系統(tǒng)流程圖設(shè)計(jì)通過(guò)對(duì)系統(tǒng)流程圖的設(shè)計(jì),對(duì)系統(tǒng)的框架和實(shí)現(xiàn)功能進(jìn)行規(guī)劃,如圖4.2。圖4.2系統(tǒng)流程圖4.2.1用戶登錄用戶登陸的詳細(xì)過(guò)程如圖4.3。圖4.3用戶登錄流程圖4.2.2用戶管理對(duì)操作用戶的管理具體操作如圖4.4。圖4.4用戶管理流程圖4.2.3消息傳輸用戶發(fā)送的各種信息,通過(guò)不同的方式進(jìn)行傳遞,具體的傳遞方式如圖4.5、4.6所示。4.5客戶端發(fā)送消息流程圖圖4.6客戶端接收消息流程圖第五章數(shù)據(jù)庫(kù)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)于一個(gè)高性能的應(yīng)用程序非常重要,就像一個(gè)空氣動(dòng)力裝置對(duì)于一輛賽車的重要性一樣。如果一輛汽車沒(méi)有平滑的曲線,將會(huì)產(chǎn)生阻力從而變慢。關(guān)系沒(méi)有經(jīng)過(guò)優(yōu)化,數(shù)據(jù)庫(kù)無(wú)法盡可能高效地運(yùn)行。應(yīng)該把數(shù)據(jù)庫(kù)的關(guān)系和性能看作是規(guī)范化的一部分。除了性能以外的問(wèn)題,就是維護(hù)的問(wèn)題了,數(shù)據(jù)庫(kù)應(yīng)該易于維護(hù)。這包括只存儲(chǔ)數(shù)量有限的(如果有的話)重復(fù)性數(shù)據(jù)。如果有很多的重復(fù)性數(shù)據(jù),并且這些數(shù)據(jù)的一個(gè)實(shí)例發(fā)生一次改變(例如,一個(gè)名字的改變),這個(gè)改變必須對(duì)所有的其他的數(shù)據(jù)都進(jìn)行。為了避免重復(fù),并且增強(qiáng)維護(hù)數(shù)據(jù)的能力,我們可以創(chuàng)建可能的值的一個(gè)表并使用一個(gè)鍵來(lái)引用該值。在這種方式中,如果值改變了名字,這個(gè)改變只在主表中發(fā)生一次,所有的其他表的引用都保持不變。例如,假設(shè)你負(fù)責(zé)維護(hù)一個(gè)學(xué)生數(shù)據(jù)庫(kù)以及他們所注冊(cè)的課程。如果這些學(xué)生中的35個(gè)在同一個(gè)課堂中,讓我們將這門課叫做AdvancedMath(高等數(shù)學(xué)),課程的名字將會(huì)在表中出現(xiàn)35次?,F(xiàn)在,如果老師決定把這門課的名字改為MathematicsIV,我們必須修改35條記錄以反映出新的課程名。如果數(shù)據(jù)庫(kù)設(shè)計(jì)為課程名出現(xiàn)在一個(gè)表中,只有課程ID號(hào)碼和學(xué)生記錄一起存儲(chǔ),那么要更改課程名稱,我們就只需要改變一條記錄而不是35條記錄。一個(gè)規(guī)劃和設(shè)計(jì)良好的數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是眾多的,它也證實(shí)了這樣一個(gè)道理,前期做的工作越多,后面所要做的就越少。在使用數(shù)據(jù)庫(kù)的應(yīng)用程序公開(kāi)發(fā)布之后,還要對(duì)數(shù)據(jù)庫(kù)進(jìn)行重新設(shè)計(jì),這是最糟糕的,然而,這確實(shí)會(huì)發(fā)生,并且代價(jià)高昂。因此,在開(kāi)始編寫一個(gè)應(yīng)用程序的代碼之前,需要花大量的時(shí)間來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)。主數(shù)據(jù)庫(kù)用于支撐整個(gè)系統(tǒng)的數(shù)據(jù)存儲(chǔ),使用MySQL5版本的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。5.1數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)管理系統(tǒng)(databasemanagementsystem)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),簡(jiǎn)稱dbms。它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶通過(guò)dbms訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員也通過(guò)dbms進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。它可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢問(wèn)數(shù)據(jù)庫(kù)。DBMS提供數(shù)據(jù)定義語(yǔ)言DDL(DataDefinitionLanguage)與數(shù)據(jù)操作語(yǔ)言DML(DataManipulationLanguage),供用戶定義數(shù)據(jù)庫(kù)的模式結(jié)構(gòu)與權(quán)限約束,實(shí)現(xiàn)對(duì)數(shù)據(jù)的追加、刪除等操作。目前,應(yīng)用比較多的數(shù)據(jù)庫(kù)是Oracle9i、Sysbase、Infonnix、MicrosoftSQLServer7.0/2000、DB2、MySQL等。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司,目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。在本實(shí)例開(kāi)發(fā)中采用的便是MySQL。5.2數(shù)據(jù)庫(kù)的概要設(shè)計(jì)根據(jù)以上各節(jié)對(duì)系統(tǒng)所做的需求分析和系統(tǒng)設(shè)計(jì),規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體分別是賬戶實(shí)體,消息實(shí)體,消息體實(shí)體。下面將分別介紹這幾個(gè)實(shí)體。(1)賬戶實(shí)體賬戶實(shí)體包括用戶賬號(hào)、用戶名、密碼、頭像序號(hào)、性別、生日、個(gè)性簽名、注冊(cè)日期、賬號(hào)可用。其中用戶賬號(hào)只能是數(shù)字且只能有4位,其中用戶賬號(hào)、用戶名、密碼、頭像序號(hào)、注冊(cè)時(shí)間、賬號(hào)可用不可為空。在性別識(shí)別方面,0代表男性,1代表女性,-1代表性別保密。(2)消息實(shí)體消息實(shí)體包括消息序號(hào)、用戶賬號(hào)(發(fā)送消息的用戶賬號(hào),接受消息的用戶賬號(hào))、消息體序號(hào)、是否已發(fā)送、是否已讀、是否已刪除。其中是否已讀用來(lái)區(qū)分消息的狀態(tài),例如:當(dāng)A給B發(fā)消息時(shí),B可能不在線,也可能在線。而這兩種狀態(tài)是不一樣的,這種情況下,就需要AsRead來(lái)起作用,當(dāng)B在線時(shí),直接將消息從數(shù)據(jù)庫(kù)發(fā)給B,并將AsRead標(biāo)為已讀;當(dāng)B不在線時(shí),消息存儲(chǔ)在數(shù)據(jù)庫(kù)中,并標(biāo)記為未讀,當(dāng)B上線時(shí),將消息立即從數(shù)據(jù)庫(kù)中發(fā)給B,同時(shí),將AsRead標(biāo)為已讀。在消息實(shí)體中,允許所有字段都為空。(3)消息體實(shí)體消息體實(shí)體包括消息體序號(hào)、消息內(nèi)容、消息中的圖像、字體名、字體大小、字體風(fēng)格、字體顏色、發(fā)送時(shí)間、消息類型。其中MBID是主鍵。5.3數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)5.3.1數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)基于上述數(shù)據(jù)庫(kù)概要設(shè)計(jì),需要設(shè)計(jì)下面各個(gè)數(shù)據(jù)表,這些表之間相互關(guān)聯(lián),共同存儲(chǔ)著系統(tǒng)所需要的數(shù)據(jù)。在設(shè)計(jì)數(shù)據(jù)表的過(guò)程中,要記住以下原則:(1)數(shù)據(jù)庫(kù)設(shè)計(jì)的一個(gè)表最好只存儲(chǔ)一個(gè)實(shí)體或?qū)ο蟮南嚓P(guān)信息,不同的實(shí)體最好存儲(chǔ)在不同的數(shù)據(jù)表中,如果實(shí)體還可以在劃分,實(shí)體的劃分原則是最好能夠比當(dāng)前系統(tǒng)要開(kāi)發(fā)的實(shí)體顆粒度要??;(2)數(shù)據(jù)表的信息表結(jié)構(gòu)一定要合適,表的字段數(shù)量千萬(wàn)不要太多,這會(huì)增加數(shù)據(jù)庫(kù)的負(fù)擔(dān);(3)擴(kuò)充信息和動(dòng)態(tài)變化的信息必須分開(kāi)存儲(chǔ)在不同的表里面。(4)盡量不出現(xiàn)多對(duì)多的表關(guān)系。5.3.2數(shù)據(jù)表結(jié)構(gòu)的詳細(xì)設(shè)計(jì)(1)sys_user用戶表:用戶表主要用來(lái)保存用戶信息。表5.1sys_useridnameloginuser_passworddateipstatus1adminadmin@dd94709528bb1c82014-03-28::11(2)chat_message聊天記錄表:主要用來(lái)保存用戶得聊天內(nèi)容。表5.2chat_messageiduser_idsend_usermessagemessage_time1210你好2014-05-1120:04:101310莎莎你好2014-05-1120:04:231412你好2014-05-1120:40:16第六章系統(tǒng)的開(kāi)發(fā)與實(shí)現(xiàn)6.1開(kāi)發(fā)環(huán)境系統(tǒng)開(kāi)發(fā)環(huán)境的選擇對(duì)于系統(tǒng)的建立來(lái)說(shuō)至關(guān)重要,它將決定著系統(tǒng)開(kāi)發(fā)工作量的大小,系統(tǒng)的性能特點(diǎn)以及系統(tǒng)今后維護(hù)工作的難易等。因此在開(kāi)發(fā)系統(tǒng)之前,根據(jù)對(duì)系統(tǒng)所采用的技術(shù)、實(shí)現(xiàn)功能的評(píng)估,在選擇開(kāi)發(fā)環(huán)境時(shí),主要考慮了以下幾個(gè)因素:擴(kuò)展性、總體成本、功能、是否容易開(kāi)發(fā)和管理,另外開(kāi)放性和互操作性也是需要考慮的一個(gè)重要方面。6.1.1硬件環(huán)境處理器:AMDAthlon(tm)64Processor3200+硬盤:WDCWD1600JS-22NCB1內(nèi)存:KingmaxDDR2-8001Gx4顯卡:NVIDIAGeForce6150SEnForce4306.1.2軟件環(huán)境(1)平臺(tái)軟件平臺(tái)應(yīng)該是建立易于開(kāi)發(fā)、管理、擴(kuò)充以及同開(kāi)放標(biāo)準(zhǔn)兼容的解決方案的基礎(chǔ)。服務(wù)器端平臺(tái)軟件采用MySQL,便于維護(hù)和管理,同時(shí)系統(tǒng)設(shè)計(jì)中應(yīng)用了一些最新的技術(shù),例如:PHP、HTML等,來(lái)提高系統(tǒng)的整體性能和效率。操作系統(tǒng):Windows8系統(tǒng)。PHP、Apache、PHPMyAdmin。(2)數(shù)據(jù)庫(kù)系統(tǒng)本系統(tǒng)設(shè)計(jì)到一些簡(jiǎn)單的數(shù)據(jù)處理,需要使用數(shù)據(jù)庫(kù)管理系統(tǒng),數(shù)據(jù)庫(kù)管理系統(tǒng)是管理信息的倉(cāng)庫(kù)和引擎。MySQL所具備的良好性能、可伸縮性以及它與Windows的緊密集成,使得它非常適合充本系統(tǒng)的發(fā)動(dòng)機(jī)。因此在構(gòu)建后臺(tái)數(shù)據(jù)庫(kù)時(shí)我采用了PHPMyAdmin來(lái)管理系統(tǒng)軟件,用以支持?jǐn)?shù)據(jù)存儲(chǔ)以及數(shù)據(jù)的傳輸。(3)開(kāi)發(fā)語(yǔ)言程序設(shè)計(jì)采用PHP、HTML實(shí)現(xiàn),PHPMyAdmin用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。6.2客戶端系統(tǒng)的功能的實(shí)現(xiàn)6.2.1用戶登錄、注冊(cè)模塊的實(shí)現(xiàn)index.php是系統(tǒng)的首頁(yè),在這里可以輸入用戶名和密碼,之后點(diǎn)擊“登錄”,則調(diào)用action-login.php驗(yàn)證用戶身份,action-login.php是系統(tǒng)首頁(yè)index.php的后臺(tái)功能頁(yè)面,主要用戶驗(yàn)證用戶身份的輸入是否和數(shù)據(jù)庫(kù)中的信息一致,如果不一致,則說(shuō)名該用戶是首次登陸,則把該用戶的相關(guān)信息保存到數(shù)據(jù)庫(kù)。如圖6-1。圖6.1用戶登錄(1)用戶登錄功能模塊實(shí)現(xiàn)的代碼如下:if(isset($_POST['email'])==true&&isset($_POST['password'])==true){$remember=isset($_POST['remember']);//驗(yàn)證輸入$email=$filter->getEmail($_POST['email']);//開(kāi)始登錄$loginReady=$user->login($ipAddr,$email,$_POST['password'],$remember);if($loginReady==true){$log->add(basename(__FILE__),'Signinsuccess.');CoreHeader::toURL('app/chat/index.php');die();}(2)用戶注冊(cè)功能模塊實(shí)現(xiàn)的代碼如下:if(isset($_GET['sg'])){$newID=$user->addUser('匿名',$_POST['email'],$_POST['password']);if($newID>0){$user->setMetaValList($newID,$user->powerMetaName,$user->powerValues);$user->setMetaValList($newID,$user->appMetaName,array('chat'));$loginReady=$user->login($ipAddr,$email,$_POST['password'],$remember);$log->add(basename(__FILE__),'Signinsuccess.');CoreHeader::toURL('app/chat/index.php');die();}6.2.2用戶聊天模塊的實(shí)現(xiàn)在聊天模塊,用戶可以用此功能發(fā)送消息即用戶寫好消息并提交后,消息會(huì)保存到數(shù)據(jù)庫(kù),并發(fā)送給另一個(gè)用戶。如圖6.2。圖6.2用戶聊天(1)查看消息列publicfunctionviewList($lastTime,$userID,$sendUser=0,$page=1,$max=10){$where='`'.$this->fields[4].'`>:time';$attrs=array(':time'=>array($lastTime,PDO::PARAM_STR));if($sendUser>0){$where.='and((`'.$this->fields[2].'`=:sendand`'.$this->fields[1].'`=:user)or(`'.$this->fields[1].'`=:sendand`'.$this->fields[2].'`=:user))';$attrs[':send']=array($sendUser,PDO::PARAM_INT);$attrs[':user']=array($userID,PDO::PARAM_INT);}else{$where.='and`'.$this->fields[2].'`=0';//$attrs[':user']=array($userID,PDO::PARAM_INT);}return$this->db->sqlSelect($this->tableName,$this->fields,$where,$attrs,$page,$max);}(2)添加一條消息publicfunctionaddMessage($userID,$sendUser,$message){$value='NULL,:userID,:send,:message,NOW()';$attrs=array(':userID'=>array($userID,PDO::PARAM_INT),':send'=>array($sendUser,PDO::PARAM_INT),':message'=>array($message,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT));return$this->db->sqlInsert($this->tableName,$this->fields,$value,$attrs);}6.2.3用戶管理主要是通過(guò)注冊(cè)時(shí)間的前后進(jìn)行排序的。實(shí)習(xí)查詢用戶的功能呢、同時(shí)顯示用戶的創(chuàng)建時(shí)間,登錄IP,昵稱等,通過(guò)這個(gè)模塊還可以實(shí)現(xiàn)對(duì)用戶的增加、刪除、修改的功能。如圖6.3。圖6.3聊友排列實(shí)現(xiàn)的主要關(guān)鍵代碼:(1)查詢用戶列表publicfunctionviewUserList($where='1',$attrs=null,$page=1,$max=10,$sort=0,$desc=false){$sortFields=isset($this->fieldsUser[$sort])==true?$this->fieldsUser[$sort]:$this->fieldsUser[0];$descStr=$desc==true?'DESC':'ASC';$sql='SELECT`'.implode('`,`',$this->fieldsUser).'`FROM`'.$this->tableNameUser.'`WHERE'.$where.'ORDERBY'.$sortFields.''.$descStr.'LIMIT'.(($1)*$max).','.$max;return$this->db->runSQL($sql,$attrs,3,PDO::FETCH_ASSOC);}(2)創(chuàng)建用戶$passwdSha1=$this->getPasswd($passwd);$attrsInsert=array(':nicename'=>array($nicename,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT),':login'=>array($login,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT),':passwd'=>array($passwdSha1,PDO::PARAM_STR),':status'=>array($this->status['logout'],PDO::PARAM_INT));return$this->db->sqlInsert($this->tableNameUser,$this->fieldsUser,'NULL,:nicename,:login,:passwd,NOW(),\'\',:status',$attrsInsert);}(3)刪除用戶publicfunctiondelUser($id){$nowUserID=$this->getLoginStatus();if($nowUserID!=$id){$sqlMeta='DELETEFROM`'.$this->tableNameMeta.'`WHERE`'.$this->fieldsMeta[1].'`=:id';$attrs=array(':id'=>array($id,PDO::PARAM_INT));if($this->db->runSQL($sqlMeta,$attrs,0)==true){$sqlUser='DELETEFROM`'.$this->tableNameUser.'`WHERE`'.$this->fieldsUser[0].'`=:id';return$this->db->runSQL($sqlUser,$attrs,0);}}}6.2.2即時(shí)通訊消息處理在線聊天是本系統(tǒng)的主要部分,用戶可以在此頁(yè)面進(jìn)行私聊、公聊、查看在線名單等。如圖6.5。圖6.5我的聊天界面實(shí)現(xiàn)發(fā)送消息的主要代碼:functionsendMessage(){varc=$('#editor').wysiwyg().html();if(c){$.post('action.php?type=send',{'send':sendUserID,'message':c},function(data){if(data=='2'){$('#editor').wysiwyg().html('');refMessage();Messenger().post({message:"發(fā)送成功!",type:"success"});}else{Messenger().post({message:"發(fā)送失敗!",type:"error"});}});}6.2.3清屏模塊的實(shí)現(xiàn)清屏即是將主界面中的對(duì)話信息清除掉。實(shí)現(xiàn)的關(guān)鍵代碼如下://清理消息functionclearMessage(){$('#chatMessage').html('');Messenger().post({message:"清空了所有聊天數(shù)據(jù)!",type:"info"});}結(jié)論交互式聊天室設(shè)計(jì),整體來(lái)說(shuō)基本完成,主要實(shí)現(xiàn)是單人聊天、多人聊天、字體顏色改變、消息管理等功能。但由于能力有限,對(duì)于系統(tǒng)中許多細(xì)節(jié)問(wèn)題考慮很不周到,不夠全面。如:多人聊天消息管理等功能較弱,將在今后的學(xué)習(xí)中不斷的改進(jìn)完善相關(guān)的功能。通過(guò)本系統(tǒng)的嘗試,在不斷摸索嘗試的過(guò)程中,使我了解到了很多從沒(méi)接觸過(guò)的知識(shí),基本掌握了建設(shè)一個(gè)交互式聊天室系統(tǒng)的大致流程和應(yīng)該關(guān)注的重點(diǎn)方向,在很多方面都得到了一定程度的提高。本次畢業(yè)設(shè)計(jì)中,筆者深入了對(duì)建模,軟件工程,數(shù)據(jù)分析,數(shù)據(jù)庫(kù)設(shè)計(jì)等等的了解。經(jīng)過(guò)這次畢設(shè)我熟悉了很多功能強(qiáng)大的軟件和一些技術(shù),如Apache和MySQL5、PHP等。雖然本系統(tǒng)難度相對(duì)來(lái)說(shuō)很大,所以在設(shè)計(jì)中還是遇到了很多問(wèn)題,例如:編程問(wèn)題、代碼優(yōu)化問(wèn)題、數(shù)據(jù)庫(kù)連接問(wèn)題、環(huán)境的搭建等等。最后在老師和同學(xué)的指導(dǎo)幫忙下,終于得到了。從老師的身上我學(xué)得到很多實(shí)用的知識(shí),再次深表感激!同時(shí)由于個(gè)人的能力有限,在聊天室的設(shè)計(jì)和代碼編寫上還存在一定的缺陷,論文的編寫也存在很多不足與缺點(diǎn),在此敬請(qǐng)各位老師和讀者批評(píng)指正。參考文獻(xiàn)黃國(guó)輝.PHP聊天室技術(shù)[J].計(jì)算機(jī)時(shí)代,2000(9):4-5.李志義,張材鴻.用PHP制作基于Web的聊天室[J].現(xiàn)代情報(bào),2005,24(12):46-48.謝志堅(jiān),謝中科.基于PHP的聊天室建立和刷新算法的優(yōu)化[J].計(jì)算機(jī)工程,2002,28(12):288-289.王明福,姚楚善.基于Linux聊天室的設(shè)計(jì)與實(shí)現(xiàn)[J].電子計(jì)算機(jī),2001(004):59-62.陳俊伽,王韜,楊杰.基于PHP的Ajax聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2007,7(20):5396-5398.劉志勇.Linux+PHP+MySQL案例教程[M].中科多媒體電子出版社,2001.陶幼,慧吳,有龍,等.三題聊天室主動(dòng)行銷之架構(gòu)與可行性探討[J].2006.TalukderM,YeowPHP.Astudyoftechnical,marketing,andculturaldifferencesbetweenvirtualcommunitiesinindustriallydevelopinganddevelopedcountries[J].AsiaPacificJournalofMarketingandLogistics,2006,18(3):184-200.SubrahmanyamK,SmahelD,GreenfieldP.Connectingdevelopmentalconstructionstotheinternet:identitypresentationandsexualexplorationinonlineteenchatrooms[J].Developmentalpsychology,2006,42(3):395.afSegerstadYH.Swedishchatrooms[J].M/C:AJournalofMediaandCulture,2000,3.謝辭聊天室設(shè)計(jì)、論文編寫完成之際,也是我即將離開(kāi)學(xué)校的日子,回顧大學(xué)四年的學(xué)習(xí)生活,不禁感慨萬(wàn)千!在這個(gè)過(guò)程中,周圍的老師、朋友和同學(xué)給予了我許多無(wú)私的幫助,在此,我要向他們表示誠(chéng)摯的感謝。首先,我要感謝我的指導(dǎo)老師—朱凱老師。從論文的選題、資料準(zhǔn)備、撰寫、審閱到最后定稿,都得到了老師的悉心指導(dǎo)和耐心幫助。老師淵博的知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,以誠(chéng)待人、虛懷若谷、勇于開(kāi)拓的品質(zhì)是我一生學(xué)習(xí)和實(shí)踐的指南針。師恩浩蕩,無(wú)以回報(bào),我只能以繼續(xù)不斷的努力和進(jìn)步來(lái)銘記恩師傳授給我受用一生的財(cái)富。同時(shí),我要感謝軟件學(xué)院的所有老師給予我的關(guān)懷和呵護(hù),感謝所有的任課老師,是他們的辛勤培育了我。在此,我要向我的導(dǎo)師和軟件學(xué)院所有的教師表示深深的敬意和衷心的感謝。另外,大力感謝劉子路同學(xué)在技術(shù)上給我的幫助;感謝郭翔同學(xué)的支持及指導(dǎo),并提供各種資料;感謝黃茂楊,他在一些關(guān)鍵代碼調(diào)試提供的幫助。特別感謝我的指導(dǎo)老師對(duì)我的鼎立支持和鼓勵(lì)!感謝我的父親和母親多年以來(lái)對(duì)我的養(yǎng)育之恩!感謝我的家人給予我的關(guān)心和幫助!最后感謝論文評(píng)審委員會(huì)的老師們于百忙之中認(rèn)真對(duì)我的論文進(jìn)行批評(píng)指正。附錄PHPisascriptinglanguageoriginallydesignedforproducingdynamicwebpages.Ithasevolvedtoincludeacommandlineinterfacecapabilityandcanbeusedinstandalonegraphicalapplications.
WhilePHPwasoriginallycreatedbyRasmusLerdorfin1995,themainimplementationofPHPisnowproducedbyThePHPGroupandservesasthedefactostandardforPHPasthereisnoformalspecification.PHPisfreesoftwarereleasedunderthePHPLicense,howeveritisincompatiblewiththeGNUGeneralPublicLicense(GPL),duetorestrictionsontheusageofthetermPHP.
PHPisawidely-usedgeneral-purposescriptinglanguagethatisespeciallysuitedforwebdevelopmentandcanbeembeddedintoHTML.Itgenerallyrunsonawebserver,takingPHPcodeasitsinputandcreatingwebpagesasoutput.Itcanbemillionwebsitesand1millionwebservers.
PHPoriginallystoodforPersonalHomePage.Itbeganin1994asasetofCommonGatewayInterfacebinarieswrittenintheCprogramminglanguagebytheDanish/GreenlandicprogrammerRasmusLerdorf.LerdorfinitiallycreatedthesePersonalHomePageToolstoreplaceasmallsetofPerlscriptshehadbeenusingtomaintainhispersonalhomepage.Thetoolswereusedtoperformtaskssuchasdisplayinghisrésuméandrecordinghowmuchtraffichispagewasreceiving.HecombinedthesebinarieswithhisFormInterpretertocreatePHP/FI,whichhadmorefunctionality.PHP/FIincludedalargerimplementationfortheCprogramminglanguageandcouldcommunicatewithdatabases,enablingthebuildingofsimple,dynamicwebapplications.LerdorfreleasedPHPpubliclyonJune8,1995toacceleratebuglocationandimprovethecode.ThisreleasewasnamedPHPversion2andalreadyhadthebasicfunctionalitythatPHPhastoday.ThisincludedPerl-likevariables,formhandling,andtheabilitytoembedHTML.ThesyntaxwassimilartoPerlbutwasmorelimited,simpler,andlessconsistent.
ZeevSuraskiandAndiGutmans,twoIsraelidevelopersattheTechnionIIT,rewrotetheparserin1997andformedthebaseofPHP3,changingthelanguage'snametotherecursiveinitialismPHP:HypertextPreprocessor.ThedevelopmentteamofficiallyreleasedPHP/FI2inNovember1997aftermonthsofbetatesting.Afterwards,publictestingofPHP3began,andtheofficiallaunchcameinJune1998.SuraskiandGutmansthenstartedanewrewriteofPHP'score,producingtheZendEnginein1999.TheyalsofoundedZendTechnologiesinRamatGan,Israel.
OnMay22,2000,PHP4,poweredbytheZendEngine1.0,wasreleased.OnJuly13,2004,PHP5wasreleased,poweredbythenewZendEngineII.PHP5includednewfeaturessuchasimprovedsupportforobject-orientedprogramming,thePHPDataObjectsextension(whichdefinesalightweightandconsistentinterfaceforaccessingdatabases),andnumerousperformanceenhancements.ThemostrecentupdatereleasedbyThePHPGroupisfortheolderPHPversion4codebranch.AsofAugust,2008thisbranchisuptoversion4.4.9$adder=getAdder(8);
echo$adder(2);//prints"10"
Here,getAdder()functioncreatesaclosureusingparameter$x(keyword"use"forcesgettingvariablefromcontext),which,etc.FormoredetailsseeLambdafunctionsandclosuresRFC.
Basicobject-orientedprogrammingfunctionalitywasaddedinPHP3andimprovedinPHP4.[3]ObjecthandlingwascompletelyrewrittenforPHP5,expandingthefeaturesetandenhancingperformance.InpreviousversionsofPHP,objectswerehandledlikeprimitivetypes.Thedrawbackofthismethodwasthatthewholeobjectwascopiedwhenavariablewasassignedorpassedasaparametertoamethod.Inthenewapproach,objectsarereferencedbyhandle,andnotbyvalue.PHP5introducedprivateandprotectedmembervariablesandmethods,alongwithabstractclassesandfinalclassesaswellasabstractmethodsandfinalmethods.Italsointroducedastandardwayofdeclaringconstructorsanddestructors,similartothatofotherobject-orientedlanguagessuchasC++,andastandardexceptionhandlingmodel.Furthermore,PHP5addedinterfacesandallowedformultipleinterfacestobeimplemented.Therearespecialinterfacesthatallowobjectstointeractwiththeruntimesystem.ObjectsimplementingArrayAccesscanbeusedwitharraysyntaxandobjectsimplementingIteratororIteratorAggregatecanbeusedwiththeforeachlanguageconstruct.Thereisnovirtualtablefeatureintheengine,sostaticvariablesareboundwithanameinsteadofareferenceatcompiletime.
Ifthedevelopercreatesacopyofanobjectusingthereservedwordclone,theZendenginewillcheckifa__clone()methodhasbeendefinedornot.Ifnot,itwillcalladefault__clone()whichwillcopytheobject'sproperties.Ifa__clone()methodisdefined,thenitwillberesponsibleforsettingthenecessarypropertiesinthecreatedobject.Forconvenience,theenginewillsupplyafunctionthatimportsthepropertiesofthesourceobject,sothattheprogrammercanstartwithaby-valuereplicaofthesourceobjectandonlyoverridepropertiesthatneedtobechanged.
PHPincludesfreeandopensourcelibrarieswiththecorebuild.PHPisafundamentallyInternet-awaresystemwithmodulesbuiltinforaccessingFTPservers,manydatabaseservers,embeddedSQLlibrariessuchasembeddedPostgreSQL,MySQLandSQLite,LDAPservers,andothers.ManyfunctionsfamiliartoCprogrammerssuchasthoseinthestdiofamilyareavailableinthestandardPHPbuild.PHPhastraditionallyusedfeaturessuchas"magic_quotes_gpc"and"magic_quotes_runtime"whichattempttoescapeapostrophes(')andquotes(")instringsintheassumptionthattheywillbeusedindatabases,topreventSQLinjectionattacks.Thisleadstoconfusionoverwhichdataisescapedandwhichisnot,andtoproblemswhendataisnotinfactusedasinputtoadatabaseandwhentheescapingusedisnotcompletelycorrect.[68]Tomakecodeportablebetweenserverswhichdoanddonotusemagicquotes,developerscanprefacetheircodewithascripttoreversetheeffectofmagicquoteswhenitisapplied.
PHPallowsdeveloperstowriteextensionsinCtoaddfunctionalitytothePHPlanguage.ThesecanthenbecompiledintoPHPorloadeddynamicallyatruntime.ExtensionshavebeenwrittentoaddsupportfortheWindowsAPI,processmanagementonUnix-likeoperatingsystems,multibytestrings(Unicode),cURL,andseveralpopularcompressionformats.SomemoreunusualfeaturesincludeintegrationwithInternetRelayChat,dynamicgenerationofimagesandAdobeFlashcontent,andevenspeechsynthesis.ThePHPExtensionCommunityLibrary(PECL)projectisarepositoryforextensionstothePHPlanguage.
ZendprovidesacertificationexamforprogrammerstobecomecertifiedPHPdevelopers.(中文翻譯)PHP是一種腳本語(yǔ)言,最初用于生產(chǎn)動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)。它已發(fā)展到包括一個(gè)命令行界面的能力,可以在獨(dú)立的圖形應(yīng)用程序中使用。
雖然PHP最初由RasmusLerdorf創(chuàng)建于1995年,PHP的主要執(zhí)行現(xiàn)所產(chǎn)生的PHP集團(tuán)和PHP的事實(shí)上的標(biāo)準(zhǔn)服務(wù),因?yàn)闆](méi)有正式的規(guī)范。PHP是PHP的免費(fèi)軟件許可證下發(fā)布的,但它是用GNU通用公共許可證(GPL),由于對(duì)長(zhǎng)期PHP的使用限制不相容的。
PHP是一種廣泛使用的通用目的腳本語(yǔ)言,特別適合于Web開(kāi)發(fā),可嵌入到HTML中。它通常運(yùn)行在Web服務(wù)器上,以它的輸入PHP代碼和創(chuàng)建作為輸出的網(wǎng)頁(yè)。它可以部署在大多數(shù)網(wǎng)絡(luò)服務(wù)器和幾乎所有的操作系統(tǒng)和平臺(tái)免費(fèi)的。
PHP的最初主張個(gè)人主頁(yè)。它于1994年開(kāi)始作為一個(gè)通用網(wǎng)關(guān)接口在C編程語(yǔ)言編寫的,由丹麥/格陵蘭程序員拉斯穆斯Lerdorf二進(jìn)制文件集。Lerdorf最初創(chuàng)建這些個(gè)人主頁(yè)工具,以取代一小部分的Perl腳本,他一直在使用,以維持他的個(gè)人主頁(yè)。這些工具用于執(zhí)行任務(wù),如他的履歷和記錄顯示多少流量接受他的頁(yè)面。他結(jié)合自己解釋這些二進(jìn)制文件形式創(chuàng)建的PHP/FI的,其中有更多的功能。PHP/FI的包括一個(gè)較大的C編程語(yǔ)言可以溝通,執(zhí)行和數(shù)據(jù)庫(kù),使簡(jiǎn)單的,動(dòng)態(tài)Web應(yīng)用程序的建設(shè)。Lerdorf公開(kāi)發(fā)表的PHP6月8日,1995年加快錯(cuò)誤的位置,提高code.This釋放被命名為PHP版本2,已經(jīng)基本功能,PHP有今天。這包括類似Perl的變量,表格處理,以及對(duì)嵌入網(wǎng)頁(yè)的能力。其語(yǔ)法類似Perl的,但比較有限,簡(jiǎn)單,不太一致。
ZeevSuraski和AndiGutmans提及,兩個(gè)從Technion以色列個(gè)人所得稅開(kāi)發(fā)商,改寫了1997年的分析器,形成了PHP3的基礎(chǔ),改變了語(yǔ)言的名稱遞歸縮寫的PHP:HypertextPreprocessor的。開(kāi)發(fā)團(tuán)隊(duì)在1997年11月正式發(fā)布的beta測(cè)試后幾個(gè)月的PHP/FI2移植。后來(lái),PHP3的公開(kāi)測(cè)試開(kāi)始,而在1998年6月正式推出來(lái)。Suraski和古特曼斯然后開(kāi)始了PHP的核心新的重寫,在1999年生產(chǎn)了Zend引擎。他們還創(chuàng)辦于拉馬特甘,以色列Zend技術(shù)。
5月22日,2000年,PHP4的Zend引擎1.0的動(dòng)力,被釋放。7月13日,2004年,PHP5的發(fā)布,由新的Zend引擎第二供電。PHP5中包括諸如面向?qū)ο缶幊谈倪M(jìn)支持新的功能,PHP數(shù)據(jù)對(duì)象擴(kuò)展(定義用于訪問(wèn)數(shù)據(jù)庫(kù)的輕量級(jí)和一致的接口),和許多性能增強(qiáng)。最近更新的PHP集團(tuán)發(fā)布的是舊版本的PHP4中的代碼分支。截至2008年8月,這個(gè)分公司是最多的版本4.4.9。PHP4是沒(méi)有根據(jù)的發(fā)展也不會(huì)再釋放任何安全更新2008年,PHP5中成為唯一穩(wěn)定的版本正在開(kāi)發(fā)。晚靜態(tài)綁定已經(jīng)失蹤,并會(huì)從PHP5.3版本中加入。正在旁邊的PHP6的PHP5的發(fā)展。主要變化包括register_globals的搬遷,魔術(shù)引號(hào),和安全模式。為清除的原因是因?yàn)橐呀?jīng)讓register_globals的安全漏洞,和魔術(shù)引號(hào)有一個(gè)不可預(yù)測(cè)性,并最好能避免。相反,為了躲避字符,可能會(huì)取代魔術(shù)引號(hào)與addslashes()函數(shù),或者更恰當(dāng)?shù)奶右輽C(jī)制的特定于數(shù)據(jù)庫(kù)廠商MySQL的本身像mysql_real_escape_string()。
PHP不具備完整的多字節(jié)字符串的Unicode或本地支持;Unicode支持在PHP6將包括在內(nèi)。許多備受矚目的開(kāi)放源碼項(xiàng)目停止支持在新代碼為2008年2月5日,由于GoPHP5倡議,由一個(gè)PHP開(kāi)發(fā)人員提供促進(jìn)財(cái)團(tuán)從PHP4到PHP5過(guò)渡PHP4中。
它運(yùn)行在32位和64位環(huán)境,但在Windows的唯一官方分布是32位,需要Windows32位兼容模式下才能啟用,而使用64位Windows環(huán)境IIS的。有一個(gè)第三方的分布為64位Windows操作系統(tǒng)。
PHP是一種通用的腳本語(yǔ)言,特別適合于Web開(kāi)發(fā)。一般的PHP運(yùn)行在Web服務(wù)器上,以它的輸入PHP代碼和創(chuàng)建作為輸出的網(wǎng)頁(yè)。系數(shù)據(jù)庫(kù)管理系統(tǒng)中使用。它是免費(fèi)提供的,和PHP集團(tuán)提供完整的源代碼,以供用戶建立,定制和擴(kuò)展自己使用。
PHP的主要是作為一個(gè)過(guò)濾器,以從文件或流包含文本和/或PHP的說(shuō)明和產(chǎn)出的另一個(gè)數(shù)據(jù)流;最常見(jiàn)的是將HTML輸入輸出。它可以自動(dòng)檢測(cè)用戶的語(yǔ)言。從PHP4,PHP解析器編譯投入,生產(chǎn)加工由Zend引擎的字節(jié)碼,從而在其翻譯的前任更好的性能。
最初旨在創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè),PHP的主要重點(diǎn)是服務(wù)器端腳本,它是類似于其他服務(wù)器端腳本語(yǔ)言,提供了如微軟的ActiveServerPages中,Sun微系統(tǒng)由網(wǎng)絡(luò)服務(wù)器動(dòng)態(tài)內(nèi)容到客戶端,'JavaServerPages和的mod_perl。PHP中也引起了提供大廈和設(shè)計(jì)結(jié)構(gòu),以促進(jìn)快速應(yīng)用開(kāi)發(fā)(RAD)許多框架。其中一些包括:使用CakePHP,Symfony的,CI中,和Zend框架提供的功能類似于其他Web應(yīng)用程序框架。
在LAMP架構(gòu)已經(jīng)成為業(yè)界流行的網(wǎng)絡(luò)作為一個(gè)Web應(yīng)用程序的部署方式。PHP是常用的Linux操作系統(tǒng)捆綁在這同時(shí),Apache和MySQL,雖然在P還可以參考Python或Perl作為一個(gè)P。
截至2007年4月,超過(guò)20萬(wàn)個(gè)互聯(lián)網(wǎng)域名被PHP的安裝與服務(wù)器托管,和PHP作為Apache模塊的最流行的記錄。重要的網(wǎng)站是用PHP編寫的,包括Facebook的面向用戶的部分,維基百科(的mediawiki),雅虎,若以流量,Digg的,WordPress和標(biāo)記。
除了服務(wù)器端腳本,PHP可以用來(lái)創(chuàng)建獨(dú)立的,編譯的應(yīng)用程序和庫(kù),它可用于shell腳本,和PHP可執(zhí)行文件可以通過(guò)命令行調(diào)用。
正如許多腳本語(yǔ)言,PHP腳本通常保持人類可讀的源代碼,甚至在生產(chǎn)Web服務(wù)器。在這種情況下,PHP腳本將在運(yùn)行時(shí)編譯的PHP引擎,從而增加了他們的執(zhí)行時(shí)間。PHP腳本能夠運(yùn)行之前使用PHP與其他編程語(yǔ)言編譯器編譯(如C語(yǔ)言的擴(kuò)展PHP和書面)。
代碼優(yōu)化器的目標(biāo)是通過(guò)減少它的大小和作出其他改變,可以減少,以期提高業(yè)績(jī)的總體目標(biāo)的執(zhí)行時(shí)間已編譯代碼的計(jì)算復(fù)雜性。在PHP編譯器的性質(zhì)是這樣的:有機(jī)會(huì)經(jīng)常代碼優(yōu)化,以及對(duì)代碼優(yōu)化的例子是Zend的優(yōu)化PHP擴(kuò)展。
另一種為高負(fù)荷減少PHP服務(wù)器開(kāi)銷的方法是使用PHP加速器。這些可以通過(guò)緩存提供了一個(gè)共享內(nèi)存中的PHP腳本編譯的形式,避免了解析和編譯代碼每次運(yùn)行腳本開(kāi)銷巨大的性能提升。
國(guó)家漏洞數(shù)據(jù)庫(kù)存儲(chǔ)的所有漏洞中找到電腦軟件。關(guān)于數(shù)據(jù)庫(kù)的PHP相關(guān)漏洞的總比例為:2004年2003年的12%,20%,28%,2005年,43%在2006年,2007年的36%,而在2008年35%。這些PHP相關(guān)漏洞可以被遠(yuǎn)程利用的大多數(shù):他們?cè)试S黑客竊取或破壞有關(guān),如從一個(gè)SQL數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)服務(wù)器(數(shù)據(jù)源的數(shù)據(jù)),發(fā)送垃圾郵件或?qū)е翫OS攻擊使用惡意軟件,它本身可以安裝對(duì)脆弱的服務(wù)器。
這些漏洞是造成大部分由不按最佳實(shí)踐編程規(guī)則:語(yǔ)言本身或它的核心庫(kù)技術(shù)的安全漏洞并不頻繁。認(rèn)識(shí)到程序員不能信任,一些語(yǔ)言包括污點(diǎn)檢查自動(dòng)檢測(cè)輸入驗(yàn)證誘使許多問(wèn)題缺乏。這種特性是正在開(kāi)發(fā)的PHP。雖然它可能會(huì)在主流的PHP包括在將來(lái)的版本中,將其列入被駁回,在過(guò)去的好幾倍。
托管服務(wù)器上的PHP應(yīng)用程序需要小心處理,并經(jīng)常注意這些安全風(fēng)險(xiǎn)。有先進(jìn)的防護(hù)補(bǔ)丁,如Suhosin的硬化,修補(bǔ),特別是網(wǎng)站主機(jī)的環(huán)境設(shè)計(jì)。安裝,而不是作為一個(gè)以Apache模塊的CGI二進(jìn)制PHP是為增加安全性的首選方法。
關(guān)于確保代碼本身,PHP的代碼可以模糊處理,使其難以閱讀,而其余的功能。
語(yǔ)法突出顯示PHP代碼嵌入內(nèi)HTMLPHP只解析其內(nèi)部分隔符碼。定界符之外的任何直接發(fā)送到輸出,而不是由PHP解析。最常見(jiàn)的分隔符<?php和?>,而“分別是開(kāi)放和關(guān)閉定界符。<scriptlanguage="php">和“</腳本>分隔符也可提供。短標(biāo)記可用于啟動(dòng)PHP代碼,<?或“<=(這是用來(lái)回顯一個(gè)字符串或變量)和標(biāo)記結(jié)束PHP代碼,?>。這些標(biāo)簽是常用的,但像ASP風(fēng)格標(biāo)記(<%或“<%=和%>),但移植性較差,因?yàn)樗麄兛梢栽赑HP配置禁用?;谶@個(gè)原因,短標(biāo)記和ASP風(fēng)格的標(biāo)記不鼓勵(lì)使用。這些分隔符來(lái)分隔PHP的目的是從非PHP代碼,包括HTML代碼。
變量的前綴為1美元的象征和類型不需要事先指定。不同的功能和類名,變量名是大小寫敏感的。這兩個(gè)雙引號(hào)(“”)和定界符字符串允許的能力嵌入到字符串變量的值。PHP的對(duì)待,除非引號(hào)內(nèi)的字符
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年自治區(qū)科技廳直屬事業(yè)單位引進(jìn)考試真題
- 修繕采購(gòu)協(xié)議合同范本
- 兼職輔導(dǎo)老師合同范例
- 新能源汽車動(dòng)力蓄電池系統(tǒng)構(gòu)造與檢修 項(xiàng)目三-課后習(xí)題帶答案
- 勞務(wù)分包用工合同范本
- 公司銷售渠道合同范本
- 農(nóng)民玉米出售合同范本
- 2024年杭州銀行招聘考試真題
- 2024年江西省人才服務(wù)有限公司招聘筆試真題
- 企業(yè)雇傭貨車合同范本
- 最新2022年減肥食品市場(chǎng)現(xiàn)狀與發(fā)展趨勢(shì)預(yù)測(cè)
- 材料化學(xué)合成與制備技術(shù)
- DB23∕T 343-2003 國(guó)有林區(qū)更新造林技術(shù)規(guī)程
- 發(fā)展?jié)h語(yǔ)初級(jí)綜合1:第30課PPT課件[通用]
- 馬工程西方經(jīng)濟(jì)學(xué)(第二版)教學(xué)課件-(4)
- 醫(yī)療廢物管理組織機(jī)構(gòu)架構(gòu)圖
- cjj/t135-2009《透水水泥混凝土路面技術(shù)規(guī)程》
- 短時(shí)耐受電流
- 社保人事專員績(jī)效考核表
- 杭州育才小升初數(shù)學(xué)試卷(共4頁(yè))
- 旋挖樁主要施工方法及技術(shù)措施(全護(hù)筒)
評(píng)論
0/150
提交評(píng)論