鍍金池/ 問(wèn)答/ PHP問(wèn)答
舊螢火 回答

// dev.env.js
module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  host: '0.0.0.0',
  AXIOS_BASR_URL: '""',
  NUM: '0'
})

可以閱讀 vue-cli 2.9.3 開(kāi)發(fā)模式變量和生產(chǎn)模式變量,這一章節(jié)。
指定環(huán)境變量,就可以在生產(chǎn)模式,還是開(kāi)發(fā)模式,進(jìn)行狀態(tài)判斷。

哚蕾咪 回答

之前也做過(guò)類似的功能,我的思路大概是這樣的:

  1. 添加圖片的時(shí)候,把添加的圖片路徑(圖片信息參數(shù)等)存儲(chǔ)在input的name為already_photo[]的隱藏域中
  2. 修改的時(shí)候,把已經(jīng)存在的圖片路徑取出來(lái),放置在這個(gè)隱藏域中,然后在修改的時(shí)候,替換(添加)了新的圖片也放在隱藏域中
  3. 提交整個(gè)表單的時(shí)候,用array_diff這個(gè)函數(shù)作對(duì)比,與前端文本域和數(shù)據(jù)庫(kù)的圖片數(shù)據(jù)作對(duì)比。要對(duì)比兩次,需要找到添加的和刪除的文件,該刪除的刪除掉數(shù)據(jù)庫(kù)信息,并刪除資源文件,該添加的就添加

這樣的好處是,你在添加的時(shí)候,就算替換了多次,也能得到不需要的文件信息,在提交表單的時(shí)候,通過(guò)對(duì)比,可以刪除對(duì)應(yīng)的資源文件,減少服務(wù)器上的多余資源。

空痕 回答

我試了下,發(fā)現(xiàn)結(jié)果都是一樣的???!就是上面test.php文件中的結(jié)果

做不到 回答

你就把后面文本框的值傳到后臺(tái),后臺(tái)做處理然后返回?cái)?shù)據(jù)啊,這種get post都行

生性 回答

直接在 composer.json 中寫(xiě)入你希望加載的私人 Package 倉(cāng)庫(kù)地址即可,Composer 會(huì)優(yōu)先從此處尋找
Package。

"repositories": {
    "package/name": {
      "type": "vcs",
      "url": "https://yourpackage.url"
    }
}
笨小蛋 回答

首先 點(diǎn)擊公眾號(hào)自定義菜單 直接調(diào)起支付寶app 或是其他任何app 應(yīng)該是不行的,微信開(kāi)發(fā)者平臺(tái)并未提供相應(yīng)功能,至少目前沒(méi)有。

你可以配置點(diǎn)擊一個(gè)按鈕時(shí) 打開(kāi)一個(gè)h5頁(yè)面,這個(gè)頁(yè)面的鏈接是你可控的,因此可以打開(kāi)一個(gè)你的網(wǎng)站的頁(yè)面。

在正常的瀏覽器中,前端頁(yè)面可以調(diào)用一種被稱為scheme的技術(shù)調(diào)起任意app,一般是 xxx://開(kāi)頭的一個(gè)url跳轉(zhuǎn),xxx是你app定義的namespace,支付寶也不例外。

但是微信目前屏蔽了android端任何scheme調(diào)起,ios端universal link以前可以 現(xiàn)在也被屏蔽了。因此在微信內(nèi)H5也無(wú)法直接調(diào)起app。瀏覽器里可以,因此可以出個(gè)彈層引導(dǎo)用戶去瀏覽器里打開(kāi)此頁(yè)面,再跳轉(zhuǎn)支付寶。

在微信內(nèi),你唯一能做的是調(diào)起應(yīng)用寶頁(yè)面,讓?xiě)?yīng)用寶打開(kāi)app,所以這也是一條路。

更多細(xì)節(jié) 具體在下面留言吧,看你具體想怎么做。

疚幼 回答

User::join('abc','abc.id','=','users.id')->join('a','a.id','=','abc.id')->get();
用model大概就是這樣

離魂曲 回答

salt只是用來(lái)防止 字典攻擊

掛念你 回答

1樓提供的方法確實(shí)是一種解決方案。適合不同控制器中重復(fù)代碼是一個(gè)功能性的內(nèi)容,比如從第一行執(zhí)行到共同部分最后一行只想得到一個(gè)結(jié)果的場(chǎng)景,如果不是功能性的內(nèi)容,重復(fù)部分代碼執(zhí)行過(guò)程中的數(shù)據(jù)都需要用到,那么用1樓的方法需要返回重復(fù)部分代碼執(zhí)行過(guò)程中的所有數(shù)據(jù)。不知道這樣說(shuō)理解不。

另外一個(gè)方法是TP本身就有前置加載,重復(fù)部分的內(nèi)容也可以通過(guò)前置加載的方法去用。

第三種方法控制器繼承。

反正這種問(wèn)題解決方法不一而足,根據(jù)自己習(xí)慣去做就好。

毀與悔 回答

當(dāng)message出現(xiàn)時(shí),你用f12查看這個(gè)message被什么選擇器控制的,然后你就把這個(gè)選擇器的樣式重寫(xiě)就可以了

拮據(jù) 回答

內(nèi)部實(shí)現(xiàn)的機(jī)制而已,如果靜態(tài)調(diào)用了非靜態(tài)的方法,在內(nèi)部會(huì)觸__callStatic 魔術(shù)方法, 該函數(shù)內(nèi)會(huì)自動(dòng)實(shí)例化的,,5.1的你可以看看門(mén)面(Facade); 機(jī)制應(yīng)該是一樣的!

解夏 回答

//實(shí)現(xiàn)斐波拉契數(shù)列

function flist($limit){
    $pre1 = 1;
    $pre2 = 1;
    for ($i=0; $i <$limit ; $i++) {
        if($i<2){
            yield 1;
            continue;
        }
        $now = $pre2+$pre1;
        $pre2 = $pre1;
        $pre1 = $now;
        yield $now;
    }
}

$flist = flist(10);
foreach ($flist as $key => $value)
{
    echo $value . "\n";
}
笨尐豬 回答

你要知道TCP是流式協(xié)議,沒(méi)有消息邊界的,UDP是有消息邊界的,所以你發(fā)送端的數(shù)據(jù),到接收端這邊,可能需要一次,或者兩次,或者一次把兩次發(fā)送的數(shù)據(jù)都接收了
610439-20160528150523303-1600111497.png
你可以想象你是在接收水流,所以你是不知道它那里結(jié)束的
可以搜索TCP粘包問(wèn)題,一般解決方案有:

  • 發(fā)送定長(zhǎng)包。如果每個(gè)消息的大小都是一樣的,那么在接收對(duì)等方只要累計(jì)接收數(shù)據(jù),直到數(shù)據(jù)等于一個(gè)定長(zhǎng)的數(shù)值就將它作為一個(gè)消息。
  • 包尾加上rn標(biāo)記。FTP協(xié)議正是這么做的。但問(wèn)題在于如果數(shù)據(jù)正文中也含有rn,則會(huì)誤判為消息的邊界。
  • 包頭加上包體長(zhǎng)度。包頭是定長(zhǎng)的4個(gè)字節(jié),說(shuō)明了包體的長(zhǎng)度。接收對(duì)等方先接收包體長(zhǎng)度,依據(jù)包體長(zhǎng)度來(lái)接收包體。
  • 使用更加復(fù)雜的應(yīng)用層協(xié)議。
九年囚 回答
// 綁定事件,點(diǎn)擊一次放大兩級(jí)    
div.onclick = function(e){  
    map.zoomTo(map.getZoom() + 2);    
}  
練命 回答
import pandas as pd

def csv_to_xlsx_pd(csv_pt, encoding='utf-8'):
    csv = pd.read_csv(csv_pt, encoding=encoding)
    csv.to_excel(csv_pt.split('.')[0]+'.xlsx', sheet_name='data')

# TODO 批量處理目錄下的文件 os.listdir

if __name__ == '__main__':
    csv_to_xlsx_pd()
心癌 回答

先定義動(dòng)作序列,然后用一個(gè)函數(shù)來(lái)執(zhí)行動(dòng)作序列

var actions = [{
    type: 1,
    msg: '你好'
  },
  {
    type: 2,
    msg: '我是老師Tom'
  },
  {
    type: 3,
    msg: '你是誰(shuí)'
  },
  {
    type: 4,
    msg: '獲取數(shù)據(jù)'
  },
  {
    type: 5,
    msg: '歡迎你',
    value: true,
    conditions: [{
      type: 3,
      msg: '你上幾年級(jí)了'
    }, {
      type: 6,
      msg: '執(zhí)行動(dòng)作'
    }]
  }
]

function doAction(action) {
  if (!action) {
    return
  }
  console.log(action.msg)
  if (action.type === 1) {

  } else if (action.type === 5) {
    if (action.value) {
      doAction(action.conditions[0])
    } else {
      doAction(action.conditions[1])
    }
  }
}

actions.forEach(doAction)
做不到 回答

這不是Python,是js吧==

清夢(mèng) 回答

最簡(jiǎn)單的方式,就是Node.js跟PHP之間通過(guò)HTTP請(qǐng)求的方式來(lái)實(shí)現(xiàn)。

從樓主的問(wèn)題,看不出來(lái)PHP、Node.js誰(shuí)比較“后”的那一端。假設(shè)Node.js是更后的那一端,那么

  1. Node.js:對(duì)外提供HTTP接口(常見(jiàn))
  2. PHP:請(qǐng)求HTTP接口。(具體怎么請(qǐng)求,谷歌或百度)