鍍金池/ 問(wèn)答/ PHP問(wèn)答
雨蝶 回答

“清空數(shù)據(jù)表再重新導(dǎo)入全部數(shù)據(jù)”這種方法對(duì)數(shù)據(jù)庫(kù)的壓力太大了。你在調(diào)接口獲取到新的全量數(shù)據(jù)后,做一次遍歷,逐條逐條的跟已有的數(shù)據(jù)做對(duì)比,如果不一樣,就說(shuō)明這條數(shù)據(jù)已經(jīng)發(fā)生了變更,這時(shí)候update一下數(shù)據(jù)庫(kù)對(duì)應(yīng)的記錄即可。

其實(shí)這種情況最好的解決方法是,讓Godaddy那邊提供一個(gè)增量接口。

尛憇藌 回答

你是不會(huì)用PHP發(fā)送http請(qǐng)求???CURL或者Guzzle庫(kù)

故林 回答

不會(huì)的,因?yàn)閳?zhí)行任務(wù)是直接從redis中POP出來(lái)的,不會(huì)同時(shí)POP出來(lái)同一個(gè)任務(wù)的。

浪蕩不羈 回答
   while ($this->data) {
            $out .= '<tr>';
            $out .= "</td>'".$this->data["id"]."'</td>";
            $out .= "</td>'".$this->data["title"]."'</td>";
            $out .= "</td>'".$this->data["u_id"]."'</td>";
            $out .= "</td>'".$this->data["content"]."'</td>";
            $out .= "</td>'".$this->data["time"]."'</td>";
            $out .= '</tr>';
        }

這個(gè) while循環(huán)中,$this->data的數(shù)據(jù)并沒(méi)有被修改,所以會(huì)一直在循環(huán)。
如果說(shuō) $this->data是二維數(shù)組,每個(gè)循環(huán)后應(yīng)該修改一下索引值。
樓主會(huì)這樣寫(xiě),可能是因?yàn)榭吹竭^(guò)這種寫(xiě)法:

while($row=mysql_fetch_row){
   //do something
}

這個(gè)不會(huì)造成死循環(huán),是因?yàn)?mysql_fetch_row 函數(shù)會(huì)自動(dòng)修改索引值。

另外,樓主的代碼,根本不需要使用循環(huán)。

爛人 回答

設(shè)置一個(gè)header("Content-type:image/png")試試?

你的第二個(gè)文件和第一文件路徑一樣么?我估計(jì)你是把緩存里的文件打開(kāi)了。

通過(guò)讀取數(shù)據(jù)庫(kù)驅(qū)動(dòng)來(lái)動(dòng)態(tài)綁定,比如

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        // 假設(shè)key 為 database.driver, 值可能是 redis/mysql
        $dbDriver = ucfirst(config('database.driver')); 

        $this->app->bind('App\Repositories\Interfaces\CategoryInterface',
            "App\Repositories\Implement\Category{$dbDriver}Repository");
    }
苦妄 回答

1.你說(shuō)的在不同的環(huán)境下請(qǐng)求不同的api是對(duì)的
2.一般來(lái)說(shuō)不管開(kāi)發(fā)環(huán)境還是測(cè)試環(huán)境還是線上環(huán)境,url的路徑都是一個(gè),只是前綴不同,這個(gè)前綴可以根據(jù)打包環(huán)境的變化來(lái)自適應(yīng)
3.你現(xiàn)在的開(kāi)發(fā)環(huán)境的mock是mock了json,可以在dev-server里啟動(dòng)mock服務(wù)器,mock請(qǐng)求

朽鹿 回答

你的b表不太完善,因?yàn)樵u(píng)論還有對(duì)應(yīng)的回復(fù)評(píng)論,所以b表應(yīng)該還有個(gè)parent_id,默認(rèn)是0,就是直接評(píng)論的,如果有parent_id,則是回復(fù)評(píng)論。

擱淺 回答

兄弟 你不同的二級(jí)域名不就只用了一個(gè)頂級(jí)域名嗎

孤毒 回答
  1. 日期時(shí)間類問(wèn)題,先核對(duì)下要求的格式;
  2. 硬調(diào)試。PHP不行的話直接HTML寫(xiě)死,HTML寫(xiě)死還不行去插件官網(wǎng)給的Demo里復(fù)制原來(lái)的代碼,還不行就去換個(gè)能正常跑的版本;再核對(duì)最終能跑的代碼和之前寫(xiě)的哪里不一樣。
孤酒 回答

這個(gè)叫SPA,主要依賴html5 history API,和PHP(與其他后端技術(shù))幾無(wú)關(guān)系。

巴扎嘿 回答

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

哚蕾咪 回答

你可以在轉(zhuǎn)發(fā)的時(shí)候,鏈接上面加上分享者的一個(gè)記號(hào),然后打開(kāi)者數(shù)據(jù)庫(kù)查詢那個(gè)記號(hào)就好了

魚(yú)梓 回答

細(xì)細(xì)想想,數(shù)據(jù)從哪來(lái),到哪去。 這個(gè)過(guò)程,你可以這么理解

1.通過(guò)后臺(tái)添加數(shù)據(jù)到表中
2.表中的數(shù)據(jù)需要展示到頁(yè)面中

那么如何展示到頁(yè)面中呢?

首先,你需要一個(gè)html的頁(yè)面,頁(yè)面渲染的形式包括:

1.數(shù)據(jù)傳遞到頁(yè)面,直接進(jìn)行渲染 (mvc一般是這么處理的 通用的處理方式)
2.訪問(wèn)后端的接口,js進(jìn)行頁(yè)面數(shù)據(jù)填充 (現(xiàn)在更好的處理方式,更好的分工)
3.頁(yè)面中直接編寫(xiě)php,混編頁(yè)面(不推薦)后期改起來(lái)超級(jí)惡心,代碼可讀性極差

所以,建議你可以寫(xiě)個(gè)接口 前端可以訪問(wèn)接口進(jìn)行數(shù)據(jù)處理,也可以找個(gè)模板引擎進(jìn)行處理,頁(yè)面可讀性會(huì)更好 




舊酒館 回答

// 使用通配符 * ,表示當(dāng)前服務(wù)端 返回的信息允許所有源訪問(wèn),也可指定可信任的域名來(lái)接收響應(yīng)信息?

header("Access-Control-Allow-Origin: http://localhost:3000");

header("Access-control-Allow-Origin:*");

// 響應(yīng)頭設(shè)置為ajax提交?

header("Access-Control-Allow-Headers:X-Requested-With");

// 允許攜帶 用戶認(rèn)證憑據(jù)(也就是允許客戶端發(fā)送的請(qǐng)求攜帶Cookie)?

header("Access-Control-Allow-Credentials:true");

寫(xiě)到方法內(nèi)部

情已空 回答

其實(shí)可以直接使用tp5自帶的日志功能,什么類型,什么級(jí)別的都可以記錄。如果你自己寫(xiě)弄點(diǎn)日志也可以的啊,自己寫(xiě)個(gè)公共方法就好了。

乖乖噠 回答

不清楚,可能是進(jìn)入了交互環(huán)境,反正你php xx.php用唄,又不影響調(diào)試開(kāi)發(fā)

你好胸 回答
你是在登錄頁(yè)面去發(fā)起ajax請(qǐng)求時(shí),通過(guò) referer 獲取上一級(jí)頁(yè)面,肯定還是 login 這個(gè)頁(yè)面呀。

此時(shí)需要記錄原來(lái)的頁(yè)面,有兩種辦法:

  1. 點(diǎn)擊鏈接跳轉(zhuǎn)登錄頁(yè)面時(shí)帶上原頁(yè)面url參數(shù)比如: https://www.xxx.com/login?redirect_url=A頁(yè)面url
  2. 在登錄頁(yè)面,通過(guò) referer,把上一個(gè)頁(yè)面獲取到。

在你的 ajax 請(qǐng)求完畢后,再跳轉(zhuǎn)回原頁(yè)面。