2009-10-06 50 views
12

我即將開始開發一個新的網站,並一直在研究PHP框架。我不是高級PHP開發人員,但我現在幾年來一直在開發網站和應用程序(在asp.net中)。我在選擇Yii作爲我的PHP框架時做出了正確的選擇嗎?

我的網站主要是基於AJAX(使用jQuery)和大量的Web服務調用。經過一番研究,這裏是我想到的:

CakePHP:最初在這方面開始開發,但發現它太複雜。事實上,它迫使你使用和學習所有這些新的東西只是爲了使用它,這有點令人生畏,所以我暫時放在一邊。 Zend:框架的性能讓我有些懷疑,但我聽說它對創建Web服務有很大的支持。我也聽說它有點複雜。

CodeIgniter:沒有真正的理由不使用這一個。基於我讀過的CodeIgniter和Yii非常相似,但Yii速度更快,並且沒有PHP4的不需要的代碼(因爲我打算專門用PHP5開發)。

就Yii而言,唯一讓我感到害怕的是它比其他框架更新,所以它有一個更小的社區。它似乎也沒有大量的Web服務支持(只有我瞭解的SOAP),而不是Zend。

所以我的問題歸結爲:

  1. 如果這些東西讓我擔心了? (不是一個大社區,很差的網絡服務支持)
  2. 還有什麼我應該看看?
  3. 對於主要基於AJAX的網絡應用程序,Yii是否可以選擇其他框架?

巴拉

+0

對於任何想知道選擇哪個框架的人來說,閱讀並觀看Bob叔叔吧:http://stackoverflow.com/a/18853233/1614973 –

回答

11

您需要記錄項目的需求以及爲什麼首先需要框架的原因。然後看看該網站的未來和相關功能。然後選擇提供最強功能的框架來滿足這些要求。不要掛在意見。閱讀文檔並確定要使用的組件,縮小搜索範圍,然後嘗試使用它們。

執行您的盡職調查不僅會爲您付清,還會爲您的客戶支付賬單。

綜上所述:

  1. 識別網站所需的組件。
  2. 研究框架併爲您的需求確定匹配。
  3. 試驗並瞭解哪些工作最適合這項工作。

編輯/意見加法:

如果這僅僅是一個個人成長的項目,然後我會看看使用了什麼事情最好看你的簡歷。 Zend有最大的名字和一個穩定的產品,所以他們默認獲勝,因爲它是舊的「不能因IBM爭吵而被解僱」。一些大玩家正在使用Symphony,但這是一個很大的學習曲線。 Yii,Cake,Kohana都有自己的優點和缺點。

+0

不錯的答案,遠勝於我的:) –

+0

你很親切。 :-) –

+0

沒有客戶,這是一個主要面向自己的項目,所以我可以學習,玩得開心,並且可能在未來使用。 該網站實際上只需要一個頁面,大多數交互會根據操作提取內容。我可能會從另一個頁面加載更多。 正如你從我的初始文章中可以看到的,我研究了一些框架,我只是問我是否做出了正確的選擇,或者我是否錯過了任何東西。 CakePHP確實是我真正深入嘗試的唯一一個,我不喜歡它。 我想指出的另外一件事是,我不想做任何命令行的東西。 – Bara

0

幾乎每一個現代的Web框架對XHR /阿賈克斯出色的支持。這實際上只是根據您當前對於您最喜歡的框架的語言知識來歸結您的個人偏好。

我也會建議Kohana,因爲它非常穩定,成熟並且有很好的支持。

直到你玩弄這個框架,你纔會真正知道,我建議你把腳趾放在其中的一些。

4

作爲Yii的主要開發人員,我可能並不完全公平(但想要!),但是,爲了客觀性,我應該提到我之前曾嘗試過Zend和CodeIgniter。

在Yii的早期版本中,benchmark tests非常令人印象深刻,而且由於領導層不希望這個框架臃腫,所以並非所有功能請求都得到實施。這聽起來有點令人失望,但如果您在編程和設計方面有足夠的經驗,那麼您已經意識到了它的潛力。另一方面,Yii仍然支持各種各樣實用和真實的解決方案。這有點主觀,但如果你看看那些經常使用的課程,你會發現他們在真正的問題上的權力。

文檔(尤其是API)經過了嚴格的調整,非常規範,在頭幾個小時內您可能會感到奇怪和冷,但從長遠來看,它肯定會減輕您的工作(不像那些時尚docbuddies,想要在方法簽名中交朋友)。

這些都有助於您的開發時間。人們可以在數週內創建嚴肅的應用程序!

+0

第三方支持Yii,特別是插件/模塊? – Bara

+0

兩個核心開發者(包括領導者)也在一個名爲Zii的項目上工作,該項目是Yii的官方擴展庫。到目前爲止還不是很成熟,但有近百個用戶貢獻的擴展。通過設計,該體系結構允許您非常輕鬆地插入其他庫(如Zend類)。 – pestaa

5

我曾經是的Symfony,CakePHP的,Zend框架,Kohana的和代碼點火器的開發者,但每年大約1年前,我發現Yii的,我的第一個(和第二和第三)的印象非常好:

  • 易學
  • 容易實現
  • 易於使用和擴展許多語言
  • 非常,非常,非常快
  • 支持
  • 支持許多軟件,服務器和加速器
  • 支持MySQL,PostgreSQL,SQLite和Oracle ... Firebird支持是測試版。
  • 許多其他功能,我現在不記得了。

下載它,使用它並執行你的項目,...你會驚訝。

現在我要問你的問題:

  1. 如果這些東西讓我擔心了?這個社區並不像看起來那麼小,目前,Yii有一個活躍的社區。我們不是少數。
  2. 還有什麼我應該看看?正如Randy所說,你應該看看你的需求:你將使用的數據庫,Web服務器和其他的數據庫。
  3. 對於主要基於AJAX的網絡應用程序,Yii是否可以選擇其他框架?是的。
+0

我不認爲你有足夠的時間來真正學習框架。很多框架在如此短的時間內學到了。 –

+1

幾年前,我學習了這些框架,但是,由於我學習了YiiFramework,所以我沒有和他們一起工作。我的框架經驗是:Kohana(6個月),CodeIgniter(2y),ZF(1y),CakePHP(1y),Symfony(6m) – robregonm

+0

我同意Yii易於學習。這對我來說非常重要。它不僅可以讓其他開發人員更容易,而且可以讓您立即開始開發應用程序,而不用花費數天的時間學習如何執行每個應用程序所需的內容。 –

4

在使用Yii的1/2年中,我有大約15個網站在線,所有工作完美無瑕,速度快,而且Yii非常容易創建它們。大多數網站並不是微不足道的,它們是大型的真實世界網站。如果需要,我可以提供鏈接。

所以我可以向你保證,通過選擇Yii,你一定能夠做任何你想要的網站,並且它會快速和安全。

相關問題