php接口是指什么?

接口interface是一個(gè)規(guī)定,給人繼承用的東西,有點(diǎn)像抽象類(lèi)。接口定義了實(shí)現(xiàn)某種服務(wù)的一般規(guī)范,聲明了所需的函數(shù)和常量,但不指定如何實(shí)現(xiàn)。之所以不給出實(shí)現(xiàn)的細(xì)節(jié),是因?yàn)椴煌膶?shí)體可能需要用不同的方式來(lái)實(shí)現(xiàn)公共的方法定義。關(guān)鍵是要建立必須實(shí)現(xiàn)的一組一般原則,只有滿足了這些原則才能說(shuō)實(shí)現(xiàn)了這個(gè)接口。下面就由創(chuàng)新互聯(lián)建站小編和大家講一講php接口是指什么。

一、PHP接口(interface)的特點(diǎn) :

1、接口的方法必須是公開(kāi)的。

2、接口的方法默認(rèn)是抽象的,所以不在方法名前面加abstract。

3、接口可以定義常量,但不能定義成員屬性,常量的定義和用法和類(lèi)中常量一樣。

4、類(lèi)可以實(shí)現(xiàn)多個(gè)接口(相當(dāng)于把多個(gè)功能集于一身,如手機(jī)實(shí)現(xiàn)了小靈通、MP3、MP4的功能)

5、接口也可以繼承接口。

PHP同大多數(shù)的面向?qū)ο笳Z(yǔ)言一樣,并不支持多重繼承。如果需要實(shí)現(xiàn)多重繼承功能,在PHP中,可以通過(guò)接口,它是PHP解決多重繼承問(wèn)題的方法,在php5.4版本之后有個(gè)類(lèi)的新特性trait。

二、php哪個(gè)框架適合做api?

從問(wèn)題本身來(lái)說(shuō),是否適合做API和框架關(guān)系不大。

框架解決的問(wèn)題是提供一個(gè)優(yōu)秀的程序架構(gòu),提高團(tuán)隊(duì)協(xié)作效率,提高代碼可維護(hù)性等等。

實(shí)際上,選擇框架還應(yīng)該從更多的角度去衡量,比如是否易學(xué),有沒(méi)有足夠強(qiáng)大的社區(qū)支持等等很多方面。其實(shí)我自己感覺(jué)最重要的還是個(gè)人喜好,有時(shí)候你喜歡一個(gè)東西可能說(shuō)不出來(lái)太具體的理由,就是喜歡。

另一方面,開(kāi)發(fā) JSON 格式的 API,和開(kāi)發(fā)以 HTML 為格式的網(wǎng)頁(yè)沒(méi)有本質(zhì)區(qū)別,只不過(guò)是把輸出由 HTML 改成 JSON 而已。所以最重要的還是業(yè)務(wù)邏輯是什么,而不是開(kāi)發(fā)的是 API 還是什么其他東西。
三、PHP參考框架

(一)CodeIgniter的優(yōu)點(diǎn)

1. 配置簡(jiǎn)單,全部的配置使用 PHP腳本來(lái)配置,執(zhí)行效率高;具有基本的路由功能,能夠進(jìn)行一定程度的路由;具有初步的Layout功能,能夠制作一定程度的界面外觀;數(shù)據(jù)庫(kù)層封裝的不錯(cuò),具有基本的MVC功能。

2. 快速簡(jiǎn)潔,代碼不多,執(zhí)行性能高,PHP框架簡(jiǎn)單, 容易上手,學(xué)習(xí)成本低,文檔詳細(xì);自帶了很多簡(jiǎn)單好用的library,框架適合小型應(yīng)用。[7]

(二)CodeIgniter 缺點(diǎn)

1. 把Model層簡(jiǎn)單的理解為數(shù)據(jù)庫(kù)操作。

2. PHP 框架略顯簡(jiǎn)單,只能夠滿足小型應(yīng)用,略微不太能夠滿足中型應(yīng)用需要。[7]

(三)CakePHP 的優(yōu)點(diǎn)

1. CakePHP 是最類(lèi)似于RoR的 PHP 框架,包括設(shè)計(jì)方式,數(shù)據(jù)庫(kù)操作的Active Record方式;設(shè)計(jì)層面很優(yōu)雅,沒(méi)有自帶多余的 library,所有的功能都是純粹的框架,執(zhí)行效率還不錯(cuò);數(shù)據(jù)庫(kù)層的hasOne,hasMany 功能很強(qiáng)大,對(duì)于復(fù)雜業(yè)務(wù)處理比較合適;路由功能,配置功能還不錯(cuò);自動(dòng)構(gòu)建腳手架(scaffold)很強(qiáng)大;適合中型應(yīng)用;基本實(shí)現(xiàn)過(guò)了MVC每一層; 具有自動(dòng)操作命令行腳本功能。

2. 文檔比較全,在國(guó)內(nèi)推廣的比較成功,大部分人都知道CakePHP,學(xué)習(xí)成本中等。[7]

(四)CakePHP 的缺點(diǎn)

1. CakePHP非常嚴(yán)重的問(wèn)題是把Model理解為數(shù)據(jù)庫(kù)層操作,什么叫軟文營(yíng)銷(xiāo)?嚴(yán)重影響了除了數(shù)據(jù)庫(kù)之外的操作能力

2. CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應(yīng)用,只適合中型應(yīng)用,小型應(yīng)用來(lái)說(shuō)略微的學(xué)習(xí)成本高了點(diǎn)。

在 PHP 中,所有的變量都是頁(yè)面級(jí)的,無(wú)論是全局變量, 還是類(lèi)的靜態(tài)成員,都會(huì)在頁(yè)面執(zhí)行完畢后被清空。設(shè)計(jì)缺陷,缺少關(guān)注PHP被稱作是不透明的語(yǔ)言,因?yàn)闆](méi)有堆棧追蹤,各種脆弱的輸入。沒(méi)有一個(gè)明確的設(shè)計(jì)哲學(xué)。早期的PHP受到Perl的影響,帶有out參數(shù)的標(biāo)準(zhǔn)庫(kù)又是有C語(yǔ)言引入,面向?qū)ο蟮牟糠钟质菑腃++和Java學(xué)來(lái)的。小伙伴們要想獲得更多php接口的內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)!

當(dāng)前文章:php接口是指什么?
分享網(wǎng)址:http://muchs.cn/article0/sdisio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、服務(wù)器托管、軟件開(kāi)發(fā)搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化