知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >
小北微信小程序教程之-- 服務(wù)器端接口restful配置
發(fā)表時(shí)間:2021-3-31
發(fā)布人:葵宇科技
瀏覽次數(shù):60
說(shuō)干咱就干,老沙灰常高興的開(kāi)始了,在這一篇老沙將帶著你完成yii2程序的restful配置過(guò)程。
RESTful
老沙計(jì)劃使用 xgh.nai8.me/xcx 作為接口的基本地址,將來(lái)會(huì)有比如
- GET xgh.nai8.me/xcx/albums
- GET xgh.nai8.me/xcx/albums/…
- ....
類似的url,這樣是符合restful。
為了以后版本化,將每個(gè)版本的接口以模塊的形式建立,當(dāng)然建立支持restful和建立普通的模塊并沒(méi)有差別,使用gii的模塊生成即可。
此處省略好幾個(gè)字,模塊建立完成。
yii2框架內(nèi)置是支持restful規(guī)范的,按照yii2的規(guī)則做我們可以輕松實(shí)現(xiàn)比如數(shù)據(jù)表數(shù)據(jù)的獲取、插入、更新、刪除等基礎(chǔ)操作以及登錄驗(yàn)證等功能。
也就是說(shuō)我省了很多事情~~,當(dāng)然我們還是需要簡(jiǎn)單配置的,這個(gè)配置主要是urlManager及模塊控制器的繼承問(wèn)題。
urlManager
如果要實(shí)現(xiàn)上面的url樣子,我們必須進(jìn)行url美化,這需要web服務(wù)器的支持(apache&nginx如何支持url重寫(xiě)可以參考 速查表),單單這樣還不夠,yii2提供了restful專有的url規(guī)范,需要按照它的要求配置。
對(duì)于一般的restful規(guī)則的yii2路由配置如下圖
紅色框內(nèi)的代表一個(gè)標(biāo)準(zhǔn)restful中控制器路由規(guī)則,綠色框內(nèi)是你必須要填寫(xiě)的,其他的except、pluralize、extraPatterns非必填,具體使用場(chǎng)景以后用到會(huì)說(shuō)明。
這里要說(shuō)明的參數(shù)是pluralize,在restful使用上一直存在兩種觀點(diǎn),就是對(duì)于資源在url上的表現(xiàn)應(yīng)該是單數(shù)還是復(fù)數(shù)問(wèn)題,yii2默認(rèn)是復(fù)數(shù)形式,如果你想使用單數(shù)可以將pluralize設(shè)置為false即可。
在pluralize=false的情況下url是類似于 GET xgh.nai8.me/xcx/album 的樣子。
在我們?cè)O(shè)置了urlManager后,yii2就變得智商滿滿了,當(dāng)過(guò)來(lái)一個(gè) GET xgh.nai8.me/xcx/albums 請(qǐng)求后,yii2知道這是一個(gè)要獲取資源結(jié)果集的請(qǐng)求,則會(huì)去調(diào)用xcx模塊下的album控制器的actionIndex,以此類推yii2提供了很多個(gè)內(nèi)置的action識(shí)別,具體見(jiàn)下圖
當(dāng)然具體如何實(shí)現(xiàn)的你可以參考 yii\rest\UrlRule.php 類及yii2的actions函數(shù)。
小提示:在兄弟連PHP原創(chuàng)視頻中對(duì)這個(gè)原理也進(jìn)行了詳細(xì)的解析(《Yii2的RESTful講解》第三節(jié))
配置控制器
urlManager配置完成,接下來(lái)就是寫(xiě)一個(gè)控制器了,老沙對(duì)此很熟悉,不就是一個(gè)繼承問(wèn)題么?。?!
是的,這是一個(gè)繼承問(wèn)題,如果你想讓yii2支持restful,請(qǐng)將對(duì)應(yīng)控制器繼承到 yii\rest\ActiveController 上,最簡(jiǎn)單的一個(gè)具有restful資源操作能力的控制器如下圖。
是的,就是這樣,當(dāng)控制器繼承于 ActiveController 在指定一個(gè)$modelClass后,這個(gè)控制器就可以對(duì) $modelClass 對(duì)應(yīng)的數(shù)據(jù)表進(jìn)行列表、詳情、生成、更新、刪除等操作,而你無(wú)需再寫(xiě)任何對(duì)應(yīng)代碼,簡(jiǎn)單吧~~
這里要注意幾點(diǎn)
第一:
必須指定$modelClass,每個(gè)控制器代表一種資源,隱身就是一個(gè)數(shù)據(jù)表中的數(shù)據(jù)或你操作系統(tǒng)的文件云云,總之它是一種資源。
第二:
這里的AblumController就是urlMananger中的'controller' => 'xcx/album', 控制器的名字于單復(fù)數(shù)的設(shè)置無(wú)關(guān)。
完事了
簡(jiǎn)單配置后,老沙搞定了服務(wù)器端的配置,接下來(lái)他計(jì)劃使用小程序和yii2實(shí)現(xiàn)一個(gè)隊(duì)相冊(cè)列表的功能實(shí)現(xiàn),下一篇告訴你。
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站建設(shè)
- 小程序開(kāi)發(fā)費(fèi)用
- 云南網(wǎng)站建設(shè)
- 云南做網(wǎng)站
- 小程序設(shè)計(jì)
- 昆明小程序公司
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 網(wǎng)站建設(shè)高手
- SEO
- 百度快速排名
- 網(wǎng)絡(luò)公司報(bào)價(jià)
- 云南網(wǎng)站建設(shè)百度
- 生成海報(bào)
- 高端網(wǎng)站建設(shè)公司
- 汽車拆解管理軟件
- 微信分銷
- 云南小程序開(kāi)發(fā)哪家好
- 微信分銷系統(tǒng)
- 支付寶小程序被騙
- 排名
- 貴州小程序開(kāi)發(fā)
- 云南網(wǎng)站建設(shè)哪家強(qiáng)
- 云南網(wǎng)站建設(shè)專家
- 昆明網(wǎng)站制作
- 云南網(wǎng)站建設(shè)外包
- 汽車回收系統(tǒng)
- 云南小程序代建
- 海報(bào)插件
- 云南建站公司
- 智慧農(nóng)貿(mào)市場(chǎng)