之前一直用TP系列Fastadmin開發(fā)前后臺(tái),里面一些東西用著也舒服比如API和前臺(tái)的用戶簽權(quán)等功能,這里不多說了免得以為是這東西的廣子。但是這個(gè)后端的某些性能有些方面就一言難盡了
最近想轉(zhuǎn)到webman和webman-admin來(lái)比較看重的是workerman系列可以一把梭。但,一直沒搞懂的問題就是webman(admin)有沒有類似上面那個(gè)fa的對(duì)外的網(wǎng)絡(luò)api接口及用戶簽權(quán),小程序開發(fā)比較多這方面很關(guān)心,看了文檔和逛了逛社區(qū)似乎這方面是webman沒有直接繼承的?還是我眼拙了沒有看到,請(qǐng)webman開發(fā)的大佬們給一些提示和方案,或者教程也行
轉(zhuǎn)webman對(duì)于小程序和API接口的開發(fā)有一些不解:
下面的問題是對(duì)標(biāo)使用TP-fa的一些感受,希望給一些解答,感謝各位大佬?。?!
如果只是登錄鑒權(quán)很簡(jiǎn)單,弄個(gè)中間件就搞定了,客戶端發(fā)起請(qǐng)求時(shí)把token放到header里,服務(wù)端把token當(dāng)sessionID自動(dòng)填充session,業(yè)務(wù)開發(fā)需要登錄態(tài)直接用session就行了
<?php
namespace app\middleware;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;
class Access implements MiddlewareInterface
{
public function process(Request $request, callable $handler) : Response
{
if ($token = $request->header('token')) {
$request->sessionId($token);
}
if (!session('user')) {
return json(['code' => 1, 'msg' => '請(qǐng)登錄']);
}
return $handler($request);
}
}
Fastadmin 這玩意 就是外包用的多,現(xiàn)在框架 你說的這些都是composer 安裝一下包的事 ,什么驗(yàn)簽 權(quán)限 現(xiàn)在都是composer一下完事,F(xiàn)astadmin 這些fpm的框架 別談性能 好用就行了
要集成到webman(admin)里面有些composer一下還是不那么好用吧,針對(duì)API類對(duì)外接口框架composer的包確實(shí)nice
我之前也和你一樣,現(xiàn)在轉(zhuǎn)用的webman-admin, 但是我用了之后不推薦后臺(tái)用webman-admin,因?yàn)楹笈_(tái)輪子少,文檔少。
因?yàn)楹笈_(tái)主要是管理員管理數(shù)據(jù)用,不會(huì)像api接口那樣高并發(fā)。我建議你 api接口用webman, 后臺(tái)還是用傳統(tǒng)fpm框架,傳統(tǒng)的fpm后臺(tái)框架 比如fa 文檔和輪子比較多,遇到不會(huì)的論壇里可以搜到相關(guān)問題的回答。
-- ps 如果論壇里有朋友持反對(duì)觀點(diǎn),你說不同意的觀點(diǎn)就行 請(qǐng)冷靜 別激動(dòng)上來(lái)就噴我 --!
這個(gè)建議也很好,就是后臺(tái)fa API用webman會(huì)不會(huì)要維護(hù)2套代碼了,盡管webman是可以用TP數(shù)據(jù)庫(kù)的但是有些繞。不過為了API的性能webman去做這些事情也不是不行。其實(shí)后臺(tái)功能也不是很多,只要業(yè)務(wù)會(huì)集中在API對(duì)外上,像小程序這些,后臺(tái)也就是管理集中地,功能和操作性上個(gè)人覺得不需要像前臺(tái)那樣給用戶體驗(yàn)很好,秉持后臺(tái)能用就行。說到后臺(tái)輪子webman確實(shí)沒有fa的多,很大部分都需要自己動(dòng)手去搭積木....
現(xiàn)在的框架都大差不差 路由、配置、緩存、中間件,看看文檔都能上手 沒啥難度,,特別是webman fpm轉(zhuǎn)過來(lái)應(yīng)該是最容易的