① php開發使用框架好一些還是使用cms好一些
看你的項目時間要求,如果時間允許,用開發框架好一點,畢竟是自己寫的東西,如果時間不允許,那還是用開源的CMS來做
二次開發
吧
② php中都有哪些框架,為什麼要用框架呢,用框架有什麼好處
以下為十個目前最流行的基於MVC設計模式的PHP框架。
1. Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3. CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。
4. PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標准PHP配置便能運行。
6. Symfony
Symfony是一個用於開發PHP5項目的web應用框架。
這個框架的目的在於加速web應用的開發以及維護,減少重復的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
7. Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架以及相關項目的進行。
PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8. Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基於OOP的概念
國內的thinkphp也很不錯,使用框架可以避免重建底層函數等,加快開發速度。
③ 做PHP網站一定要用框架嗎
不一定要用,根據需求,用不用,是你自己的選擇;
用框架開發的好處:
1.公共代碼、類庫:這樣不用你再去寫一個具體的功能,可以直接拿來用,提高開發效率;
2.代碼安全:框架一般都會輸入、輸出進行基本的過濾,提高了代碼攻擊的安全性;
3.用更少的代碼實現更強大的功能;
。。。好處多多
如果你只是想打實自己的基礎,完全可以不用框架開發
如果在公司工作,我想你的領導會要求效率的
④ php開發需要框架嗎
什麼是PHP開發框架?
有太多的原因使得PHP成為世界上最受歡迎的腳本語言——高度靈活、簡單易用——不過寫PHP(或者任何這種語言)代碼時,人們常常陷入單調重復而令人生厭的體力活動的窘境。而這正是PHP開發框架大顯身手的地方。
通過提供一個開發Web程序的基本架構,PHP開發框架把PHPWeb程序開發擺到了流水線上。換句話說,PHP開發框架有助於促進快速軟體開發(RAD),這節約了你的時間,有助於創建更為穩定的程序,並減少開發者的重復編寫代碼的勞動。這些框架還通過確保正確的資料庫操作以及只在表現層編程的方式幫助初學者創建穩定的程序。PHP開發框架使得你可以花更多的時間去創造真正的Web程序,而不是編寫重復性的代碼。
PHP開發框架背後的思想被稱為「模型—視圖—控制器」(MVC)。MVC是這樣一種架構模式,它隔離了業務邏輯與UI,允許其一改變而另一者不受影響。(也可以說是關注點的隔離)在MVC中,模型負責數據,視圖負責表現,控制器則是程序主體或者說是負責業務邏輯。從本質上說,MVC拆分了一個程序的開發過程,這樣你就可以修改獨立的每一部分,而其他部分不受影響,這是十分重要的,它使得編寫PHP代碼更為快捷簡單。
為什麼要使用PHP開發框架?
開發者可能出於不同的考慮而使用PHP開發框架,不過首當其沖的原因是為了加速開發過程。相似工程之間的代碼重用能夠節省開發者大量的時間和精力。PHP開發框架內置了預建的模塊,免去了冗長又令人厭煩的編程工作。這樣開發者就能夠把時間活在開發實際程序上,而不是每一次都要為每一個項目重建基礎模塊。
穩定性是開發者使用框架的另一個重要原因。盡管簡單是PHP最大的資本,也是許多人喜愛這個腳本語言的原因,它也是PHP的「潘多拉之盒」,尤其是那些初學者而言,PHP是如此的簡單以至於他們會完全沒有意識地寫出低質量的代碼。這樣的PHP程序可能在大多數時間內仍正常工作,但你可能已在代碼中留下了巨大的安全漏洞,使其易受攻擊。要時刻牢記PHP是一門很寬松的語言十分重要,因此確保不在代碼中遺留任何安全漏洞是重中之重——即使程序看起來工作正常。
最後一點,PHP開發框架是可擴展的,並且有許多框架可供選擇。你也可以創造你自己的,不過許多開發者決定從那些流行的知名的開發框架中做選擇,因為它們往往有著龐大的支持團隊,以及相關的論壇/社區方便你與其他使用同一個框架的開發者相互交流。注意,你應當事先檢驗你的項目是否需要使用框架,這里提供一份簡單的列表以供參考:使用框架能否節省你(和其他任何會使用它的人)的時間和精力?是否能夠讓程序得到更好的表現?能否提高穩定性?如果你對上面任何一個問題的回答是肯定的,那麼使用PHP開發框架對於這個項目就可能是正確的選擇。
何時使用PHP開發框架?
這是開發者,無論初學者還是經驗豐富的專家,常常詢問的問題,但又真的沒有直截了當的答案。對於許多初學者而言,框架提供了良好的穩定性和簡潔性,所以他們認為只要能用就應該用框架。它能夠減少低質量代碼的產生,並加快項目進度。
另一方面,許多經驗豐富的PHP程序員把框架視為那些不懂得如何寫出高質量的清晰的代碼的「初級」程序員而設計的工具。這句話對錯與否有待商榷,但事實上PHP開發框架的確是用來節省時間和提高編程效率的工具。
在忙於接近最後期限的工程時,使用PHP開發框架將帶來巨大的效益,因為它能夠極大地加快編程進度。所以如果你時間緊迫,使用PHP開發框架是極其正確的。應當把PHP開發框架列入考慮范圍的另一個例子是當你忙於一個有大量重復代碼的項目時,因為它有助於減少重復工作量。
在PHP開發框架中應當關注什麼?
去搜索PHP開發框架的人將會看到各式各樣的選擇,你甚至可以創建你自己的,盡管只推薦PHP專家們這么做。在尋找最適合你需求的PHP開發框架時,你要時刻想著誰會使用和/或徹頭徹尾地修改它,這點很重要。如果會有許多人使用這個程序,最好用一個大多數開發者都熟悉的框架。另一方面,如果你想要一個自己使用的Web程序,你最好選擇一個你覺得最舒服的PHP開發框架——管它是流行還是不受歡迎呢。
在尋找PHP開發框架時應該考慮多種因素:簡單易用,敏捷開發/性能,在其它開發者中間的流行程度,強大的特性,以及支持/論壇。我推薦你先嘗試幾款不同的PHP開發框架,從中找出一個最適合你需求的,各種框架之間有些微的差異,有著不同的優勢和劣勢。就拿Zend Framework來說,V3版本之後就帶有了豐富的功能,再加上一個可擴展的支持系統,這一切都是因為它存在了足夠久。作為對照,CakePHP是另一個比Zend Framework年輕的PHP開發框架,它的支持系統的規模就略微小些(盡管對這個框架的支持正在飛速增長),但CakePHP更加用戶友好且簡單易用。
如你所見,每種PHP開發框架都有它自己的有點,所以最好先做一些嘗試,捕捉一些錯誤以便找出哪個框架能最好地服務於你的需求。另一種很好的選擇框架的方式是咨詢你那些身處開發者社區的同事,問問他們喜歡哪個。那些真正用過某個框架的人會告訴你它是否易用,特性,可用的支持,框架周邊的社區所涉及的領域,他們還可能告訴你它的缺點。
使用PHP開發框架時最常見的錯誤
任何一種類型的編程都會出現錯誤,不過PHP開發框架能夠極大地限制這些錯誤的產生,因為它從開發過程的一開始就提供了經過驗證的正確代碼。而且看來重復的代碼編寫會增加錯誤出現的概率,而框架徹底解決或至少減少了那個問題。
這就是說,使用PHP開發框架仍然又需要注意的問題。例如,除非你是個PHP專家,否則你應該選擇一個流行些的框架,它們有著豐富的支持和一定的活躍用戶基數(下面會列舉一些流行的PHP開發框架)。有許多框架只有少得可憐的支持甚至沒有支持,並且/或者是由對PHP了解有限的人創建的。這些框架會導致你的程序不能正常工作,更壞的情況下會導致你的網站出現災難性的安全問題。
另一種常見的錯誤是沒有確保資料庫和網站伺服器兼容特定的框架。例如Seagull PHP Framewor推薦如下配置:
PHP: PHP 4.3.0 是最低配置,之後的版本也支持,PHP 5.1.1 及更高版本也可以。請避免任何 5.0.x 系列的東西。
MySQL: MySQL 4.0.x, 4.1.x 和 5.0.x 都支持,你也可以使用 3.23.x。
Apache: Seagull 在 1.3.x and 2.x 系列的 Apache 中工作得很好。
如果你不能滿足這些要求,你就不能得到所選擇框架可能的最佳性能。就算你是PHP專家,也應該在嘗試框架之前閱讀其文檔以確保兼容性。
和上面這個錯誤比較類似的,不按照推薦安裝步驟去安裝你的PHP開發框架也會給你帶來令人頭痛的煩惱。仍然用Seagull作為例子——Seagull的Wiki上有一份詳細的框架安裝流程,其中有幾個關鍵步驟有時候常常被粗心或者沒有戒心的開發者輕易地忽略了。關鍵是你一次就把框架裝好會讓你在接下來的實際開發中節約不必要的時間開銷。
⑤ 糾結使用原生PHP還是框架
php本身就可以理解為一個web開發框架,針對web,針對http已經把很多細節封裝好了,你就直接用就OK。比如,你調用setcookie,下次就能通過$_COOKIE獲取到值,使用框架只是為了避免重復造輪子而已,框架一般集合了ORM、緩存機制、模板機制等等,如果不用框架自己從零開始寫的話,那任務量繁重而且基本一個人也很難實現這么多功能,如果有框架的話,那麼就方便多了,省了很多開發任務的。
⑥ 為什麼寫PHP要用各種框架
php本身就可以理解為一個web開發框架,針對web,針對http已經把很多細節封裝好了,你就直接用就OK。比如,你調用setcookie,下次就能通過$_COOKIE獲取到值,使用框架只是為了避免重復造輪子而已,框架一般集合了ORM、緩存機制、模板機制等等,如果不用框架自己從零開始寫的話,那任務量繁重而且基本一個人也很難實現這么多功能,如果有框架的話,那麼就方便多了,省了很多開發任務。
⑦ php開發需要框架嗎
php中也存在框架,如國內比較常用的thinkphp、brophp。國外的Laravel。但使用其也用利弊,分析如下:
框架是非常好的,它能讓決定更連貫。框架能避免我們寫一大堆自定義模塊來實現這些性能,我們所需要做的就是將這些共用模塊放在框架中實現。框架節省了我們不少的時間和精力,並且讓擴展變得更容易。但是這也是問題的根本所在。
對錘子來說,所有事物都是釘子
Abraham Kaplan說過的一句話能最好地控訴工具的缺點:把錘子給一個小孩,他會用錘子槌遇到的所有事物
這就是衡量你是否更職業的時候了,交付對未來擴展最好的代碼而不是交付最容易實現的代碼。是為了以後的需求更好的設計你的代碼還是讓以後的人做需求的時候再考慮,這就是程序員的責任感問題了。作為一個更職業的開發者,我們必須不依賴框架獨立思考。
這就是你的錯
是不是經常聽到某人在抱怨某個框架?我已經聽見好多人抱怨過Rails了:「Rails應用總是糟糕的結構」或者「Rails測試總是這么慢」。最開始,我也曾經這么認為。但是現在,每當我聽到這些抱怨的時候,我就會意識到其實抱怨者是懶惰的。Rails,或者其他框架,只是一個工具而已,你要做的是控制它。把壞代碼歸咎於無生命的框架只能說明你的不專業。
選擇正確的工具,或者正確地使用工具
決定變得更專業
我們必須根據基本的需求來選擇工具。框架確實能做很多事情,並且需求會決定整個代碼結構。有的時候框架會很適合某個需求。但是當框架不適合某些需求的時候,你就有責任為了代碼的清晰和干凈修改框架或者封裝框架。
作者Myles Megyesi正文結束讀後感文章中提到框架只是一個工具,你不能用這個工具來滿足你的所有需求,當框架無法清晰完整地滿足你的需求的時候,你要做的不是寫一大堆垃圾麻煩的代碼來實現需求,更不是修改你的需求來滿足更容易實現這件事。作為更專業的你,你需要修改框架,或者使用抽象等思維來使你的代碼達到清晰干凈。
這點在實際開發中會遇到非常多。當別人問你:這里的代碼為什麼這么寫? 如果你的回答是:沒辦法啊,因為框架是這么這么做的,我只能這么這么做。這就說明了你已經被框架束縛住了。不要認為框架是權威,框架也是別人寫的,它寫的時候不會考慮到你的需求。只要你的需求是團隊的公共需求,需要修改,增加框架的時候,你就應該修改框架。
代碼是讓人更清晰自然的閱讀和開發的,如果被一個框架捆綁住,實際上就是本末倒置了。
⑧ 我是php新手,想自己做一個網站,是用框架好,還是源碼開發
各有優勢,根據你的情況選擇,在源碼基礎上做二次開發速度快,但你得了解那些功能對應著哪些代碼,有些編寫人員不會給你整整齊齊的讓你一目瞭然那程序代碼,所以熟悉起來比較費時間,但是選擇框架開發,速度會很慢,因為每個要實現的功能都要去研究和學習編寫程序,但你能知道自己編寫的代碼對應著哪些功能,找起來比較方便。
⑨ 為什麼學PHP需要框架PHP框架是做什麼用的
1.對於PHP初學者從框架開始學習是個很好的方法。
很多功能與其東拼西湊找開源庫不如直接用現成的框架來解決,而且用框架還能保證可靠性和安全性,畢竟那是經過長時間應用檢驗的。
而且,用框架的更重要的原因是保證設計的合理性和可擴展性。如果不用框架難免會有結構設計方面的bug,做出來的產品難以維護,更難以擴展。
如果要從頭開始寫個項目,最簡單快捷的方法就是用框架,而且框架選擇也是很多樣的,可以用Zend這樣的大型框架,也可以選擇一些codeigniter這樣的開源輕量框架(CodeIgniter / EllisLab)。
2.對於PHP熟練者不一定非得用框架,很多優秀的PHP產品都沒有用框架。
框架的好處是規范代碼,統一架構,方便團隊開發和維護管理,代碼封裝了很多常用功能,開發的時候直接使用,並且不用考慮底層架構,提升開發效率。
所以框架適合開發大多數普通項目。項目太小,沒必要用框架。項目太大,需按具體業務設計架構,框架不一定好用。
3.所以,要根據自身情況而定,不一定非要使用框架。