鍍金池/ 問(wèn)答/ PHP問(wèn)答
枕邊人 回答

運(yùn)行這條sql,再導(dǎo)入

set global max_allowed_packet=268435456;
乞許 回答

QUEUE_DRIVER=redis造成的,把QUEUE_DRIVER=redis改成sync就好啦

select 用戶id,sum(gprice) from (
select 用戶id,項(xiàng)目,sum(A.price*B.比例) as gprice from A join b on a.項(xiàng)目 = b.項(xiàng)目 group by 用戶id,項(xiàng)目 ) group 用戶id

網(wǎng)妓 回答

1、文件名、路徑大小寫問(wèn)題
2、運(yùn)行環(huán)境的用戶有沒(méi)有文件訪問(wèn)的權(quán)限
3、文件路徑是否正確

愚念 回答

GatewayWorker支持多協(xié)議,可以再加一個(gè)websocket協(xié)議的端口,GatewayWorker原tcp端口和車輛保持通訊,網(wǎng)頁(yè)通過(guò)websocket端口和GatewayWorker保持通訊,車輛發(fā)來(lái)數(shù)據(jù)后如果有需要就通過(guò)websocket端口發(fā)送數(shù)據(jù)給瀏覽器,實(shí)時(shí)展示。

別瞎鬧 回答

我覺(jué)得 雪之祈舞 的方法很好
不過(guò)對(duì)于你的代碼,為什么匹配不到,我想原因在這里:

if (strpos($content, trim($CotentArr[$i])) != false)

這句判斷有問(wèn)題,!= 應(yīng)該換成 !==
因?yàn)?code>strpos函數(shù)用于查找字符串,如果查找到了則返回字符串出現(xiàn)的位置,當(dāng) CotentArr[$i] 的值是 Players 時(shí),它在 $content 中出現(xiàn)的位置為0,經(jīng)過(guò) != 判斷不會(huì)出現(xiàn)你期待的結(jié)果(!= 類型轉(zhuǎn)換,出現(xiàn)的位置為0,則為false)

題外話:
不建議你在 for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 中的 表達(dá)式2 中使用count函數(shù),因?yàn)檫@3個(gè)表達(dá)式執(zhí)行的順序是:
表達(dá)式1 -> 表達(dá)式2 -> 表達(dá)式3 -> 表達(dá)式2 -> 表達(dá)式3 -> 表達(dá)式2.... 你使用的count函數(shù)會(huì)進(jìn)行多次計(jì)算數(shù)組中的元素個(gè)數(shù)...,當(dāng)然,PHP是很快的,你也可以不在乎

凹凸曼 回答

不太懂題主的意思, 不過(guò)你要是想限制查詢的數(shù)量的話 , 可以在后面加一個(gè)limit

萌小萌 回答

模板文件不存在導(dǎo)致加載失敗。

維他命 回答

哇。。。咱也遇過(guò)這個(gè)錯(cuò)誤,貌似是PHP把Apache的資源耗盡后才會(huì)出現(xiàn)的。。。解決辦法就是提高你的環(huán)境硬件和軟件配置,或者修改你的代碼,至少不要造成資源不夠用

我甘愿 回答

laravel 同一個(gè)項(xiàng)目操作多個(gè)數(shù)據(jù)庫(kù)只能這樣用,其實(shí)也沒(méi)那么累贅。

逗婦乳 回答

yield, 是可以在循環(huán)的時(shí)候, 代碼內(nèi)外溝通, 能性能貌似沒(méi)什么影響.
尤其是這個(gè)并不是多線程.
每次的mysql update都是阻塞的.

心夠野 回答

看下html里的內(nèi)容是不是404,是不是express的路由沒(méi)配對(duì)

喵小咪 回答

不會(huì)。
但是你這涉嫌掛羊頭賣狗肉,你通過(guò)審核的是備案過(guò)的,不知道小程序像不像工信部會(huì)定期查備案,如果定期查的話,你這有風(fēng)險(xiǎn)

深記你 回答

不是babel-poyfill的問(wèn)題,是你的babel就沒(méi)有配置對(duì),檢查一下babel和es2015等等的配置,因?yàn)槟愕募^函數(shù)都沒(méi)有轉(zhuǎn)換,這是babel的問(wèn)題,是js語(yǔ)法就沒(méi)有被轉(zhuǎn)換

旖襯 回答

你只是想返回一個(gè)結(jié)果,但使用 throw 一般是拋出異常。
很多時(shí)候返回 status 為0,其實(shí)并不是異常。
我覺(jué)得這些時(shí)候使用 throw 是不合適的。
所謂的異常,應(yīng)該是“它本來(lái)應(yīng)該是這樣的,但結(jié)果卻不是”,才需要拋出異常。
比如你要處理一張圖片,傳的參數(shù)指向的文件存在,文件后綴也存在,但讀取數(shù)據(jù)后卻不能正確處理,這時(shí)拋個(gè)異常是可以理解的,但我個(gè)人覺(jué)得這還不夠好。

因?yàn)槲揖陀龅竭^(guò),使用 thinkPHP 3.2 的圖片處理類,遇到不能處理的圖片,直接拋出了異常,但其實(shí)對(duì)我來(lái)說(shuō),如果處理圖片有問(wèn)題 ,是可以直接跳過(guò)去的。

也就是說(shuō):只有“這一步如果出錯(cuò),后面的代碼執(zhí)行就完全沒(méi)有意義或者完全不能執(zhí)行”的時(shí)候才去拋出異常,否則只需要返回結(jié)果,給使用者(可能是控制器)去處理就好了。

對(duì)于樓主的需求,ThinkPHP 是有內(nèi)置的方法的,比如控制器中有 success() 和 error() 兩種方法來(lái)滿足樓主的需要,當(dāng)然,我個(gè)人比較喜歡 ThinkPHP 3.2的處理方式,比如簡(jiǎn)潔,ThinkPHP 5中的這兩個(gè)方法添加了不必要的參數(shù),寫起來(lái)倒挺麻煩的。
但這兩個(gè)方法只在控制器中有,模型中默認(rèn)是沒(méi)有的,當(dāng)然,如果你喜歡的話,也可以加到模型中去。
但我個(gè)人同樣不太推薦。處理返回結(jié)果或頁(yè)面跳轉(zhuǎn)的任務(wù)還是交給控制器會(huì)比較好。

模型中,其實(shí)可以自己定義個(gè)類似的方法,比如:

function succ($data="",$status=1){
      return array(
       'status'=>$status,
       'info'=>$data,
    );
}

function error($msg=""){
  return succ($msg,0);
}

你在模型中直接 return succ($data);或 return error($msg);即可。

控制器中根據(jù)返回的數(shù)組,再使用$this->success()或$this->error();當(dāng)然,如果你在使用ThinkPHP 5,也像我一樣比較喜歡 ThinkPHP 3.2 的風(fēng)格,這兩個(gè)方法你是可以改成3.2的風(fēng)格的。

說(shuō)回樓主和你看到的大神的代碼,基本思想都差不多,只不過(guò)你直接返回一個(gè)數(shù)組,而“大神”卻直接拋出異常,我不喜歡這位大神的風(fēng)格。
但你和“大神”都喜歡寫重復(fù)的 "status'=>1,"msg"=>......,我則比較喜歡把它裝進(jìn)函數(shù)或方法中,畢竟這兩個(gè)操作是使用非常頻繁的。

關(guān)于代碼中較多 if/else 的情況,我一般使用兩種方法解決:

  1. 短的判斷可以用三目運(yùn)算符代替;
  2. 很多時(shí)候 if 時(shí)使用了return ,后面就可以不寫 else 了 。

補(bǔ)充:

概括一下:

  1. 模型中建議使用 return ,而不是拋出異常,return 的數(shù)據(jù)可以自己封裝個(gè)函數(shù)或方法;(當(dāng)然,要結(jié)合業(yè)務(wù)的具體需求!)
  2. 拋出異常意味著程序的終止,在非必須的情況下不要這樣做;
  3. 控制器中直接使用 success 和 error 或 ajaxReturn 方法即可。

但如果把樓主看到的“大神”的代碼從模型中移到控制器的話,應(yīng)該是合理的(除了重復(fù)的代碼有點(diǎn)多外)。
我個(gè)人是不太喜歡使用 throw,但我查看了一下 ThinkPHP 5 和 ThinkPHP 3.2 的源碼,其中的 success和 error 方法除了使用參數(shù)復(fù)雜性不同外,還有一點(diǎn)區(qū)別就是 3.2直接使用 exit()結(jié)束程序,而 5.0 版本中使用的是 throw 一個(gè)異常類。

應(yīng)該有理由相信,使用 throw 可能會(huì)比如說(shuō) exit 更好。
于是,我找到一種說(shuō)法:

PHP調(diào)用exit退出腳本執(zhí)行不會(huì)導(dǎo)致PHP服務(wù)退出。
https://segmentfault.com/q/10...

我不了解底層的機(jī)制,但我覺(jué)得這種說(shuō)法是比較可信的。

孤星 回答

curl 'https://www.maicoin.com/api/prices/btc-twd' -H 'Cookie: locale=InpoLVRXIg%3D%3D--a65135f98901cde92d397aef024641fac25550a3; currency=InR3ZCI%3D--6eec4eff818e386526edfcc1b4af684de0367230; visid_incap_160122=8CKUBS5CRzW2jgxC+wKaVpYHrloAAAAAQUIPAAAAAAA9XFHlJQppJiQOwk6k6aA1; incap_ses_434_160122=RB6ACx7+Mno9jD/UC+EFBpYHrloAAAAAJMgpqZFKRf5j9Cj/HLAW/A==; _ga=GA1.2.1402085178.1521354648; _gid=GA1.2.1469388641.1521354648; _twcoin_session=YkVLWUZUaWFnSGE0UEl3VDhmc2QvcGI3cndTTlZ5MVdITE1xSWNtOS84MThvS3pieDFFT0dWc1NlajI5SXBDVG43dlJTQkJjMjBmSUNob0xqanN5TnM2TnNDNk1rS2NucHB4NTUzbXB5K3BpN1VGWlRKQ29nRi9zd0p5cXpxMzFibDFyVHMrbVh4VjYvclY5ZFBnWDh3PT0tLTQwYWdQUHlSSXJwNHM2c3d0S0pIaFE9PQ%3D%3D--5217aa1d4a5c131b7f37bef34c90ce10e2fb7586'

要帶上cookie

巴扎嘿 回答

可以通過(guò)接口的方式.你提供一個(gè)接口給 前端 前端通過(guò)axios調(diào)用你的接口獲取數(shù)據(jù)