2011-11-04 80 views
4

4個月前我開始學習編程。到目前爲止,我已經知道一些JavaScript(和jQuery),PHP,AJAX HTML和CSS。昨天我第一次在堆棧論壇中看到一個關於PHP框架(zend,codeigniter等)的問題。AJAX足夠嗎?我應該學習一個PHP框架嗎?

我希望這些問題不是很愚蠢,因爲我是初學者,所以我對這個世界瞭解不多,但我的問題是: 1-我是否需要學習如何使用php框架if我只是一個打造ONE網站? 2-現在的網站更依賴於AJAX +一些PHP或只是PHP +一些JavaScript? 3-需要多長時間學習和掌握像zend這樣的php框架?

+0

對於2,AJAX的客戶端只是Javascript的一個特定子集;) – Izkata

+1

CodeIgniter比Zend更容易。如果你的網站使用數據庫,我會使用一個框架,只要確保在開始保持乾燥之前閱讀文檔。如果您瞭解PHP語法和麪向對象編程的基礎知識,那麼您可以立即開始在CI中編寫代碼,並隨時查找其他代碼。 – minboost

回答

2

1)您不需要需要來學習一個PHP框架,事實上,如果它是您創建的第一個網站,我會建議在沒有框架的情況下構建它,以便了解PHP的工作原理當建立一個網站。通過這種方式,您可以理解數據庫連接,會話管理等事情,這些事情通常是在幕後使用框架完成的。然後,嘗試使用框架構建它,以獲得框架內置的設計模式和其他功能的想法,以避免代碼重複,安全漏洞等。

2)我不知道什麼是AJAX +一些PHP和PHP +一些JavaScript之間的區別。 AJAX是Javascript的一部分,它並不是一個獨立的技術。

有些網站使用了很多AJAX,有些則沒有。這實際上取決於你想要網站做什麼和你的特定設計:AJAX可以給網站提供一個更流暢的感覺,但當涉及到後退按鈕和書籤等事情時可能會有複雜性。

3)取決於你在框架中做了什麼:如果你只使用了10%的功能,你肯定不會在任何時間成爲主人。這也取決於框架的複雜性:我沒有使用過Zend,但我知道框架越複雜,您學習它的時間就越長。

+0

非常感謝robbrit,我會考慮到這一點。那麼我不會爲第一個網站使用框架。 –

2

盡你所能學習儘可能多的東西。 PHP是一個很好的開始,因爲它非常流行,易於學習和使用。 PHP中有許多優秀的框架(Symfony,Zend,Kohana等)。然而,這不是一個很好的,設計良好的語言。記住,不要停留在PHP,學習它,然後取得進展。

b)你將能夠建立一個大型的各種使用PHP + JS + HTML網站

PS:AJAX是一種技術,作爲一個知識,它不值得這麼多的是。

+0

非常感謝您的快速回復。我對你的回答仍然有些懷疑。當你說「它不是一個很好的,設計良好的語言」時,你是指PHP作爲一個整體還是與框架或兩者兼而有之?當你說「不要停留在PHP」時,你推薦什麼其他語言/框架/技術? –

+0

PHP <5.3作爲構建框架的基礎語言非常糟糕;直到最近我們纔開始獲得解決框架問題所需的所有工具。 – Problematic

+0

這是PHP。它受到舊版本的設計錯誤和錯誤的困擾。儘管如此,它很容易使用,而構建在PHP之上的構思框架在構建更大的網站時非常強大。其他語言:簡單的一種:Python。一些更難:C/C++,Java – erenon

1

的問題的答案是非常主觀的,但我的建議是:

  1. 不,你不應該學習框架來構建一個網站。只要去任何你可以建立它。框架通常帶有許多額外的概念和方法。你將不得不投入相當多的時間來了解他們的工作方式,但真正難以理解他們爲什麼這樣工作。做一個網站是一個很棒的體驗,所以只要去建立一些東西。

  2. 可以說網站主要依賴於HTML/PHP/JavaScript。 Ajax只是一個額外的功能,你已經關注得太多了。很高興您知道Ajax的作用,但您應該更多地關注重要的事情,比如第一位。

  3. 可以說,這需要兩年的時間在該領域的利益。所以起初你學習PHP的語法,然後你開始知道HTTP是如何工作的,然後再嘗試HTML和JavaScript/jQuery/Ajax,然後你嘗試一個Framework。你繼續嘗試,直到你成爲主人。 Zend框架是最全面的,因此它需要一段時間來研究它如何工作以及它帶來的所有相關技術。

我最後的建議是保持專注,建立一些東西,看看它帶來了什麼樣的挑戰,解決這些挑戰並最終成爲主人。祝你好運!

+0

非常感謝Vilius,我會考慮到這一點。那麼我不會爲第一個網站使用框架。 –

1

問題一 - 簡短的回答是:這取決於您正在建設的網站的類型。您正在討論的框架是爲了簡化開發應用程序而開發的,這些開發廣泛使用了數據庫和麪向對象的原則。如果你打算建立一個主要是靜態內容的網站,那麼我現在就不用費心學習框架了。

問題二 - 再次,它取決於網站。 AJAX的概念有很多應用,但大多數網站使用它來使網站更具交互性(例如,不刷新頁面以加載新內容)。對於主要具有靜態內容的網站,AJAX的用途較少。

問題三 - 「掌握」一個框架可能需要一段時間。我並不熟悉你提到的那些,但是學習一個框架不太瞭解它的語法/怪癖,更多的是關於如何解決他們的問題。再次,這取決於你在做什麼。

2
  1. Ajax只是一種從Javascript調用服務器端腳本的技術。服務器端腳本是PHP。所以,如果你打算使用Ajax,你需要知道PHP。

  2. 至於PHP框架,它很好的從零開始用PHP構建一個網站以獲得更好的理解,但最終,它更好地採用框架。框架實現了許多你需要的功能和方法。沒有人重新發明車輪。

+0

感謝您的回答bonez –

+0

儘管我確信這是@xbonez的意思,但您並不需要專門的PHP;我想他只是想根據事實已經預先選擇PHP作爲服務器端語言來描述這個場景。 –

+0

遲到的迴應,但@GregPettit是正確的,你不一定使用PHP作爲你的服務器端腳本。任何服務器端腳本都可以工作(Ruby,Python,Java,ASP.NET等) – xbonez