2016-08-02 45 views
16

我是一名PHP開發人員,我開始學習Angular2。但我不知道如何在PHP中使用它。 是否可以使用Angular作爲前端? 我必須做什麼? 如何在沒有安裝Node.js的共享主機上使用它?如何在PHP應用程序中使用Angular 2?

+1

Angular Js適用於在瀏覽器中運行並調用API的客戶端(無論它們是在php,node還是任何其他服務器端語言中)。角度2應用的理念是將前端功能與後端API分離。 – noor

+0

Angular.js只是一個前端JavaScript框架,它並不需要Node.js在任何其他框架上運行。 Angular js是一個獨立的框架,適用於任何後端語言。你只需要用restful api輸出json,並在角框架中使用細節。 –

+0

@noor如果我在angularScript2的typescript中編寫測試組件,如何呈現html頁面?請添加一個例子。 – mgh

回答

54

我的2美分很長一段時間的PHP開發者他一直在玩Angular2。

作爲一名PHP開發人員,您期望讓PHP呈現HTML頁面併發送給客戶端。 Angular2不會那樣做。所有這些將在PHP中進行的處理,構建數據表,列表或其他現在是Angular的工作。

你現在要做的唯一事情就是發送JSON響應。其他人已經在上面說過了。

我假設,既然你問這個,你幾乎沒有任何經驗Angular2工作。所以這裏的交易:

瞭解如何在本地機器上使用節點和NPM。瞭解如何使用NPM來設置您的空的Angular2項目。在本地機器上播放和開發。

當你準備要加載的數據,PHP可以得到通過發送JSON數據下調至角使用前端參與。

當您準備好將Angular2應用程序聯機到世界時,您有許多構建選項。你需要將你的代碼從Typescript編譯成Javascript。

我一直在使用Angular CLI工具。這讓我只需運行「ng build」,就可以編譯應用程序。

然後我可以將它生成的文件夾上傳到我的apache服務器,它可以工作。 Angular CLI創建一個名爲「dist」的文件夾,其中包含您的前端需要的所有內容。

一塊蛋糕。

+0

非常感謝您的回答。我是一個很長時間的PHP開發人員,最近被告知我必須將我對Angular 2所做的所有事情都轉換。我對此並不滿意,但這是一份工作。除了[Angular](https://angular.io/)上的教程之外,您的回答讓我更加了解了PHP和Angular之間的關係。 – Cagey215

3

據我所知AngularJS是客戶端Javascript框架。所以一般來說不需要'nodejs'。您只需要HTML中包含的AngularJS庫文件,這些文件將由您的PHP代碼生成。

我想你應該仔細看看AngularJS。

+0

澄清:AngularJS(1.X分支)和Angular2以前不是一回事。 隨着Angular2向前,你不再包含腳本標籤。你的整個UI都依賴於它。 – sitesbyjoe

5

優選的是,您的網站將只是下載一個簡單的index.html和一個名爲app.js文件,它包含所有的JS,因此您的角度應用。

PHP會坐在一臺服務器做一個API,它與JSON/XML應答到請求的工作,你的角度應用程序將使用的JSON構建Web界面。

你可以讓PHP託管的任何地方,並從另一個地方爲你的角度應用程序,甚至認爲它是不建議,因爲潛伏期

<html> 
 
    <script src="app.js"> 
 
</html>

+0

我應該導出角度app.js嗎? – mgh

+0

出口是什麼意思?如果你構建一個角度應用程序,最終你會將所有的JS代碼捆綁到一個文件中,通常是app.js – Borjante

+0

這是我的問題!我有一個角度的JS應用程序,如何做到這一點? – mgh

0

以上[sitesbyjoe]最佳答案是真棒。 只是細節步驟,

打開CMD

1)CD的項目文件夾

2)NG建立

3)DIST文件夾複製到Apache/htdocs中/ [測距/或你的 - 項目名稱]

4) Important: open the index.html file, find <base href="/"> 
change it to <base href="/your-project-name/"> 
Without doing this, js file will not be load correctly. 

5)http://localhost:80/your-project-name/index.html

它的工作原理。

相關問題