在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ PHP問答
朽鹿 回答

上nginx,可以設(shè)置servername解決。

帥到炸 回答

swoole, 或者socket.io都可以實(shí)現(xiàn).

刮刮樂 回答

引用model的路徑寫錯(cuò)了,你controller的同級并沒有model文件夾,你的model文件夾是和home同級,并且你的model文件夾首字母沒有大寫,還是嚴(yán)謹(jǐn)一些好

兔囡囡 回答

解決了,刪除指定包然后重新 require 一次
估計(jì)是開始時(shí)用的源不同導(dǎo)致的沖突出現(xiàn)的問題

淡墨 回答

localhost:800還是localhost:8000呢?
還有我不太理解為什么把第二個(gè)的secure設(shè)為true,從代碼上來看,你只是鏈接到了http的接口呀

涼心人 回答

如果你們是需要發(fā)送短信。這個(gè)一般沒有直接使用CMPP協(xié)議對接的。
像阿里大魚的短信,也是走的http協(xié)議。你可能走入了誤區(qū)了。

耍太極 回答

get 后臺當(dāng)然可以拿到數(shù)據(jù)啊,換個(gè)方法取而已

鐧簞噯 回答
if(in_array($nowSelf,['/news.php','/newsview.php','/help.php']))
{
    //code
}
悶騷型 回答

原有數(shù)據(jù)表是否需要保留?
如果不需要,按照樓上的答案,通過手機(jī)號查找userid,更新對應(yīng)的openid即可;
如果需要,通過手機(jī)號查找數(shù)據(jù),復(fù)制該條到新表中,使用全新的openid也可以。

撿肥皂 回答

我覺得token是用戶登錄時(shí)根據(jù)用戶登錄IP加上登錄時(shí)間以及一些隨機(jī)字符和用戶信息綜合生成的加密字符串。登錄成功后保存在Session會話中,隨著會話的結(jié)束而失效。同時(shí)也可以對用戶傳入的token進(jìn)行安全驗(yàn)證。

網(wǎng)妓 回答

$appends 刪除后不能在讀取到username屬性,刪除后可以清理下緩存:php artisan cache:clear(執(zhí)行命令清除緩存)

巫婆 回答

select
(select name from user where user.uid = c.uid) as replyer,
(select name from user where user.uid = c.to_uid) as replyed,
c.content
from comment c
where id=1

理解下來數(shù)據(jù)都是在comment表中,只是comment.uid 和 comment.to_uid 需要轉(zhuǎn)義成名稱,
上述sql 有可能提供一些解決思路。

喵小咪 回答

聽你意思好像whj.domain.com,m.whj.domain.com的/api/ 都指向 php_project目錄
所以針對/api/單獨(dú)設(shè)root就行了

#whj.domain.com

server_name whj.domain.com;
root /path/pc_front_project;
location / {
    ...
}
location /api/ {
    root /path/php_project;
    ...
}
旖襯 回答

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

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

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

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

模型中,其實(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)格的。

說回樓主和你看到的大神的代碼,基本思想都差不多,只不過你直接返回一個(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 可能會比如說 exit 更好。
于是,我找到一種說法:

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

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

六扇門 回答

找到問題了 在 location ~ .php$ {下的root也要改成/usr/local/nginx/html/ci/

抱緊我 回答

不要用 pusher,用 socket.io。并且用之前先了解下 socket.io 本身的用法,應(yīng)該就能成功了。