日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

PHP學(xué)習(xí)筆記之面向?qū)ο笤O(shè)計(jì)_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:PHP文件上傳代碼用法
php文件上傳代碼編寫(xiě)過(guò)程 1. 先判斷是否上傳文件 2. 如果有再來(lái)判斷上傳中是否出錯(cuò) 3. 如果出錯(cuò),則提示出錯(cuò)信息 4. 如查沒(méi)出錯(cuò),再判斷文件類(lèi)型 5. 如果類(lèi)型符合條件,再判斷指定目錄中有沒(méi)有存在該文件 6. 如果沒(méi)有就把該文件移至指定目錄 在php中上傳文件必須知道的

   面向?qū)ο笤O(shè)計(jì)是php程序開(kāi)發(fā)中一個(gè)很重要的內(nèi)容塊,如果你想成為高級(jí)php程序員我們必須知道面向?qū)ο笤O(shè)計(jì)具體用法與寫(xiě)法。

  維護(hù)簡(jiǎn)單 模塊化是面向?qū)ο缶幊讨械囊粋(gè)特征。實(shí)體被表示為類(lèi)和同一名字空間中具有相同功能的類(lèi),我們可以在名字空間中添加一個(gè)類(lèi)而不會(huì)影響該名字空間的其他成員。

  可擴(kuò)充性 面向?qū)ο缶幊虖谋举|(zhì)上支持?jǐn)U充性。如果有一個(gè)具有某種功能的類(lèi),就可以很快地?cái)U(kuò)充這個(gè)類(lèi),創(chuàng)建一個(gè)具有擴(kuò)充的功能的類(lèi)。

  代碼重用 由于功能是被封裝在類(lèi)中的,并且類(lèi)是作為一個(gè)獨(dú)立實(shí)體而存在的,提供一個(gè)類(lèi)庫(kù)就非常簡(jiǎn)單了。

  它比較適合多人合作來(lái)開(kāi)發(fā)項(xiàng)目,所以現(xiàn)在很多大中型網(wǎng)站都選擇了用OOP來(lái)開(kāi)發(fā)。

  本文主要講解了用php做面向?qū)ο缶幊痰淖罨镜姆椒ê痛a實(shí)例,如何創(chuàng)建一個(gè)class和如何生成一個(gè)class的實(shí)例等等,只是一個(gè)入門(mén),非常的簡(jiǎn)單,要想深學(xué)這點(diǎn)是遠(yuǎn)遠(yuǎn)不夠的。只適合php的初學(xué)者

  public 表示全局,類(lèi)內(nèi)部外部子類(lèi)都可以訪問(wèn);

  private表示私有的,只有本類(lèi)內(nèi)部可以使用;

  protected表示受保護(hù)的,只有本類(lèi)或子類(lèi)或父類(lèi)中可以訪問(wèn);

  - 數(shù)據(jù)抽象和信息隱藏

  - 繼承

  - 多態(tài)性

  在PHP中使用類(lèi)進(jìn)行封裝的辦法:

  當(dāng)然你可以用你自己的辦法,但有一個(gè)標(biāo)準(zhǔn)總是好的。

  PHP中類(lèi)的數(shù)據(jù)成員使用 "var" 定義,數(shù)據(jù)成員是沒(méi)有類(lèi)型直到被賦值。一個(gè)數(shù)據(jù)成員可能是一個(gè) integer、數(shù)組、聯(lián)合數(shù)組(associative array)或甚至對(duì)象(object). 方法在類(lèi)里定義成函數(shù),在方法里存取數(shù)據(jù)成員,你必須使用$this->name 這樣的辦法,否則對(duì)方法來(lái)說(shuō)是一個(gè)函數(shù)的局部變量。

  使用 new 來(lái)創(chuàng)建一個(gè)對(duì)象

  然后使用成員函數(shù)

  setX 成員函數(shù)將 5 賦給對(duì)象(而不是類(lèi))obj 中成員變量, 然后 getX 返回值 5.

  你也可以用對(duì)象引用來(lái)存取成員變量,例如:$obj->x=6; 然而,這不一種好的面向?qū)ο缶幊痰姆椒āN覉?jiān)持你應(yīng)使用成員函數(shù)來(lái)設(shè)置成員變量的值和通過(guò)成員函數(shù)來(lái)讀取成員變量。如果你認(rèn)為成員變量是不可存取的除了使用成員函數(shù)的辦法,你將成為一個(gè)好的面向?qū)ο蟪绦騿T。 但不幸的是PHP本身沒(méi)有辦法聲明一個(gè)變量是私有的,所以允許糟糕的代碼存在。

  在 PHP 中繼承使用 extend 來(lái)聲明。

  這樣類(lèi) "Another" 的對(duì)象擁有父類(lèi)的所用成員變量及方法函數(shù),再加上自己的成員變量及成員函數(shù)。如:

  多重繼承不被支持,所以你不能讓一個(gè)類(lèi)繼承多個(gè)類(lèi)。

  在繼承類(lèi)中你可以重新定義來(lái)重定義方法,如果我們?cè)?"Another" 重新定義 getX,那么我們不再能存取 "Something" 中的成員函數(shù) getX. 同樣,如果我們?cè)诶^承類(lèi)中聲明一個(gè)和父類(lèi)同名的成員變量,那么繼承類(lèi)的變量將隱藏父類(lèi)的同名變量。

  你可以定義一個(gè)類(lèi)的構(gòu)造函數(shù), 構(gòu)造函數(shù)是和類(lèi)同名的成員函數(shù),在你創(chuàng)建類(lèi)的對(duì)象時(shí)被調(diào)用。

  所以可以用如下方法創(chuàng)建對(duì)象:

  構(gòu)造函數(shù)自動(dòng)賦值 5 給成員變量 x, 構(gòu)造函數(shù)和成員函數(shù)都是普通的PHP函數(shù),所以你可以使用缺省參數(shù)。

  然后:

  缺省參數(shù)的定義方法和 C++ 一樣,因此你不能傳一個(gè)值給 Y 但讓 X 取缺省值,實(shí)參的傳遞是從左到右,當(dāng)沒(méi)有更多的實(shí)參時(shí)函數(shù)將使用缺省參數(shù)。

  只有當(dāng)繼承類(lèi)的構(gòu)造函數(shù)被調(diào)用后,繼承類(lèi)的對(duì)象才被創(chuàng)建,父類(lèi)的構(gòu)造函數(shù)沒(méi)有被調(diào)用,這是PHP不同其他面向?qū)ο笳Z(yǔ)言的特點(diǎn),因?yàn)闃?gòu)造函數(shù)調(diào)用鏈?zhǔn)敲嫦驅(qū)ο缶幊痰奶攸c(diǎn)。如果你想調(diào)用基類(lèi)的構(gòu)造函數(shù),你不得不在繼承類(lèi)的構(gòu)造函數(shù)中顯式調(diào)用它。這樣它能工作是因?yàn)樵诶^承類(lèi)中父類(lèi)的方法全部可用。

  ?>

  多態(tài)性。

  ?>

  和封裝有關(guān)的魔術(shù)方法:

  __set():是直接設(shè)置私有成員屬性值時(shí),自動(dòng)調(diào)用的方法

  __get():是直接獲取私有成員屬性值時(shí),自動(dòng)調(diào)用的方法

  __isset(); 是直接isset查看對(duì)象中私有屬性是否存時(shí)自動(dòng)調(diào)用這個(gè)方法

  __unset(); 是直接unset刪除對(duì)象中私有屬性時(shí),自動(dòng)調(diào)用的方法

分享:php防止sql注入的函數(shù)介紹
具體用法 addslashes防止SQL注入 雖然國(guó)內(nèi)很多PHP程序員仍在依靠addslashes防止SQL注入,還是建議大家加強(qiáng)中文防止SQL注入的檢查。addslashes的問(wèn)題在 于黑客 可以用0xbf27來(lái)代替單引號(hào),而addslashes只是將0xbf27修改為0xbf5c27,成為一個(gè)有效的多字節(jié)字符,其中的0xb

來(lái)源:模板無(wú)憂//所屬分類(lèi):PHP教程/更新時(shí)間:2013-05-30
相關(guān)PHP教程