色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

使用OOP技術(shù)來(lái)優(yōu)化PHP應(yīng)用程序

瀏覽:9日期:2024-01-26 17:18:39
大多數(shù)開發(fā)者認(rèn)為面相對(duì)象的程序設(shè)計(jì)(OOP)思想和PHP是一對(duì)矛盾,但實(shí)際上,PHP封裝了開發(fā)者在其應(yīng)用程序中使用OOP技術(shù)的所有功能。為了證明這一點(diǎn),讓我們舉一個(gè)經(jīng)典的Vehicle(車輛)例子,其PHP類如下:class Vehicle { // Stuff goes here!}

在我們新建的Vehicle類中,用方法(即PHP函數(shù))來(lái)聯(lián)系我們的應(yīng)用程序和Vehicle類的特性(characteristics)。每一個(gè)方法都是用來(lái)向應(yīng)用程序描述Vehicle,這樣我們用方法來(lái)實(shí)現(xiàn)某些功能。請(qǐng)考慮下面的例子(它顯然是非函數(shù)的,即沒有給出函數(shù)體):class Vehicle { function getWheels() { // 邏輯上用來(lái)查詢這里的車輪(即wheel)數(shù) return($wheels);} function getDoors() { // 邏輯上用來(lái)查詢這里的車門(即door)數(shù)。return($wheels);}}這里,我們看到了兩個(gè)“getter”函數(shù)。如果這看起來(lái)、聽起來(lái)很熟悉的話,那是因?yàn)镻HP的OOP與C或者Java非常相似的緣故。真正的挑戰(zhàn)是靈活的使用OOP、充分而又有效的使用封裝。為了確定在把Vehicle集成到你的應(yīng)用程序這一過(guò)程中你需要懂得哪些內(nèi)容,定義組成Vehicle的基本元素或許會(huì)有所幫助。例如,Vehicles可以按照車門的數(shù)目或者車輪的數(shù)目來(lái)組織。如果我們想知道我們的Vehicle有多少個(gè)輪子,我們需要返回這一信息的函數(shù)。在PHP中,這一函數(shù)的實(shí)現(xiàn)可以如代碼清單A所示。現(xiàn)在我們的Vehicle類包含了一個(gè)叫著getWheels的方法了,當(dāng)應(yīng)用程序傳遞給它一個(gè)車輛類型時(shí),它返回輪子的數(shù)目。那么,我們?nèi)绾伟衍囕v類型這一信息傳遞給Vehicle類呢?為了更好的理解這一問(wèn)題,讓我們演示一下用法,實(shí)現(xiàn)我們的類并調(diào)用它的getWheels方法來(lái)得到car類型車輛的車輪數(shù)目。// 設(shè)置車輛種類$vehicle = 'car';

這樣我們已經(jīng)宣布了我們想創(chuàng)建的車輛類型為car。由于我們使用PHP,因此這個(gè)值可以是動(dòng)態(tài)的,但如果這樣的話很快就會(huì)難以用代碼來(lái)處理(hard-code)它了。為了使用這個(gè)類,我們首先需要在應(yīng)用程序中創(chuàng)建該類的一個(gè)實(shí)例:// 創(chuàng)建car類的一個(gè)新實(shí)例$myVehicle = &new Vehicle;我們剛剛創(chuàng)建了一個(gè)叫著myVehicle的Vehicle類的實(shí)例。它是Vehicle類的唯一實(shí)例,而且它包含了Vehicle所包含的所有數(shù)據(jù)(方法和屬性)。現(xiàn)在是找出我們的car到底有多少個(gè)輪子的時(shí)候了:// 通過(guò)向getWheels方法傳遞車輛類型來(lái)獲取車輪數(shù)目$numWheels = $myVehicle->getWheels($vehicle);正如你所見,我們調(diào)用了getWheel方法并向它傳遞了車輛種類。如果一切順利的話,我們就得到了我們所需的數(shù)據(jù):// 打印車輪數(shù)目print '$vehicle has $numWheels wheels.';如果我們想得到車門數(shù)目,我們需要編寫另一個(gè)檢查車門數(shù)的方法,如代碼清單B所示。

易于編程、易于管理

正如你在這個(gè)簡(jiǎn)單的演示中所看到的那樣,在PHP中實(shí)現(xiàn)面相對(duì)象的編程并不困難。像我們?cè)赩ehicle類中那樣采用OOP和類,創(chuàng)建一個(gè)購(gòu)物車(shopping cart)并不會(huì)非常麻煩。由于采用了面向?qū)ο蟮木幊趟枷耄a易讀、易維護(hù)、易升級(jí)。清單C給出了我們?cè)谶@里所討論汽車分類應(yīng)用程序的更高版本的代碼。它充分演示了PHP的面相對(duì)象性能。

標(biāo)簽: PHP
主站蜘蛛池模板: 亚洲天堂视频在线免费观看 | 成人国产片免费 | 精品亚洲一区二区 | 久久亚洲精品国产精品777777 | 日本黄色大片在线播放视频免费观看 | 国产精品私人玩物在线观看 | 久久精品国产影库免费看 | 中文字幕有码视频 | 日韩毛片欧美一级国产毛片 | 久久亚洲天堂 | 中文国产成人精品久久一区 | 国产成人免费a在线资源 | 高清日本无a区 | 97视频在线观看免费视频 | 色屁屁一区二区三区视频国产 | 综合久久一区二区三区 | 怡红院在线a男人的天堂 | 老妇综合久久香蕉蜜桃 | 美女视频网站免费播放视 | 69欧美| 久久免费视频播放 | 欧美va在线播放免费观看 | 久久午夜精品视频 | 国产精品久久久久久影视 | 国产爽的冒白浆的视频高清 | 国产高清国产专区国产精品 | 国产成人av在线 | 国产麻豆交换夫妇 | 性久久久久 | 中文三 级 黄 色 片 | 亚洲精品综合一区二区三区在线 | 久久国产成人福利播放 | 欧美一级毛片俄罗斯 | 久久成人小视频 | 欧美jizzhd欧美精品 | 正在播放的国产a一片 | 日本在线视频观看 | 欧美日本亚洲国产一区二区 | 欧美精品久久久久久久久大尺度 | 国产三级做爰高清视频a | 99国产欧美久久精品 |