2017-10-19 15 views
1

我的服務器上有一個包含函數的JavaScript文件。 我想開發一個REST Api來連接到這個服務器,運行javascript函數併發回輸出。如何從PHP文件調用Javascript函數

是否可以從PHP文件調用JavaScript函數?

我讀this但它不回答我的問題,因爲我的js文件與php文件位於同一臺服務器上。

V8Js擴展我在找什麼?

感謝

編輯: 的js函數如下:

function (line, userWeight, weightunit){ 

    //logic is here 

    var computed = { 
       userLengthFtin: userLengthFtin, 
       userLevel: userLevel, 
       proId: line['id'], 
       proLengthFeetin: proLengthFeetin, 
       proThick: proThickFtin, 
       weightunit: weightunit 
      }; 

      return computed; 
     } 
+0

什麼是JS功能呢?你可以發佈嗎? – mpen

+0

不,我很抱歉無法發佈實際功能,但我會在問題 – Louis

+0

中添加其形式,因此它只是計算一些東西?你不能直接在客戶端上運行?如果可以的話,我會將它移植到PHP中,否則設置一個小節點服務器來處理API請求,並讓nginx將您的特殊端點轉發到節點而不是PHP。然後,您不必在PHP內部運行JS,並且可以在Node中添加其他終端節點(如果需要的話)。 – mpen

回答

2

是否有可能調用從PHP文件中的JavaScript功能?

你需要把東西交給一些其他可以執行JS的軟件。這可能是通過脫殼,或者可能是通過Selenium或您找到的V8js庫等庫。不管你選擇什麼,它都需要能夠處理JS的特定需求(例如,如果JS期望嵌入在可訪問DOM的網頁中,並且可以通過Web瀏覽器提供的所有API),那麼你不能簡單地使用Node.js來運行它)。

在PHP中重寫函數可能會更簡單。

+0

謝謝,我會嘗試V8Js或者在php中重寫它... – Louis