導航:首頁 > 編程語言 > php為什麼要用框架

php為什麼要用框架

發布時間:2023-12-17 05:06:58

㈠ 糾結使用原生php還是框架

php本身就可以理解為一個web開發框架,針對web,針對http已經把很多細節封裝好了,你就直接用就OK。比如,你調用setcookie,下次就能通過$_COOKIE獲取到值,使用框架只是為了避免重復造輪子而已,框架一般集合了ORM、緩存機制、模板機制等等,如果不用框架自己從零開始寫的話,那任務量繁重而且基本一個人也很難實現這么多功能,如果有框架的話,那麼就方便多了,省了很多開發任務的。

㈡ 基礎知識回顧:為什麼要使用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框架由於V3和多樣的功能、並且有一個廣泛的支持系統,因而它流行了這么久。相反, CakePHP是另一個晚於Zend框架的PHP框架,相應的支持系統也比較少,但更方便和易於使用。
正如你所看到的,每種類型的PHP框架都有自己的優點,因此,最好反復試驗以找出其中哪個最適合你的需要。另一個選擇PHP框架的有效方式是咨詢你的同事,看看開發社區里選擇哪個。那些真正使用過具體框架的能夠明確地告訴你它的易用性、功能、支持可用性、社區內的情況,當然可能還有不足。
使用PHP框架最常見的錯誤
任何類型的編程中都可能有錯誤,但是PHP框架有助於顯著限制這些錯誤。重復編碼似乎加劇了這種錯誤,而框架則解決了這一問題。盡管如此,在使用任何PHP框架時仍要注意。例如,除非你是一位PHP編程的專家,否則你應該總是選擇使用流行的框架,有大量的支持和積極的用戶群。很多框架的支持很少甚至沒有,它們可能是被PHP知識有限的個別開發者所創建的。這些類型的框架,可能會使你的應用程序無法正常運行,更糟糕的是,可能會給你的網站帶來災難性的安全問題。
另一些常見的錯誤是,不能確保你的資料庫和Web伺服器符合特定框架。例如,Seagull PHP Framework建議如下配置:
◆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以及Apache的2.x系列。
如果你沒有滿足這些要求,您將無法在你所選的框架中看到最好的性能。即使你是PHP的專家,你也應該經常復習框架的說明文檔,確認兼容性後再嘗試。
類似於前面提到的常見的錯誤,不遵循建議的安裝進程的話,你的PHP框架也可以給你帶來一些令人頭疼的問題。以Seagull 為例,在Seagull的wiki有一個詳細的框架安裝過程,其中有幾個關鍵步驟,很容易被不小心或不知情的開發者忽視。因此你要花費時間來安裝框架並遵循安裝說明。
最好的PHP框架有哪些?
過去的幾年中,因為PHP已發展成為大多數開發者選擇的腳本語言,因而也產生了大量的PHP框架。什麼是最好的PHP框架,仁者見仁智者見智,因為並非每一個框架都能夠適合每一個人。以下是5個最佳和最流行的PHP框架選擇:
◆The Zend Framework
Zend Framework在開發者社區中很有人氣,其重點是Web 2.0風格的應用程序。由於其大量的黨羽、廣泛的支持和積極的用戶群,Zend被稱為PHP Company。Zend即使不是當今最流行的PHP框架,也絕對是之一。它強大的功能能夠滿足企業級的需求,當然它的使用也需要具備廣泛的PHP知識。
◆CakePHP
從初學者到高級PHP開發者,CakePHP都是一個很棒的選擇。它與 Ruby on Rails設計的原則基本相同,主要集中在快速開發方面使其成為一個快速應用開發的優良框架。其迅速增長的支持系統、簡單和可擴展性使CakePHP成為當今最熱門的PHP框架。
◆Symfony
Symfony針對的更多的是高級開發者,也即創建企業級應用的開發者,尤其是Askeet和Yahoo! Bookmarks。這個開源的PHP框架功能全面,但它的主要缺點是速度慢於其他框架。
◆CodeIgniter
CodeIgniter以其易用性、性能和速度而聞名。不同於Symfony,CodeIgniter主要針對的是與人共享主機的開發者,或者為小型設備尋找PHP框架的開發者。它提供簡單的解決辦法,而且有一個擴展庫包括視頻教程、論壇、用戶指南和wiki。初學者應該考慮使用CodeIgniter 。
◆Seagull
Seagull是一個穩定的用於構建web、命令行和GUI應用的PHP框架。這是一個非常易於使用的框架,非常適合初學者到高級程序員。對於初學者,Seagull有一個範例應用庫,可以自己設定後滿足自身需求;對於高級開發者,Seagull提供了眾多選擇包括最佳實踐、標准、模塊化的代碼基,這些都可以幫助快速簡單地構建Web應用程序。Seagull有一個活躍的開發者社區,內有大量的支持性文檔和說明。

㈢ 為什麼要花時間學習使用PHP框架

形象一點說吧,假如你蓋房子,你是自己一磚一瓦的蓋簡單呢,還是拿一個現成的架子往上面添東西簡單呢?結果不言而喻吧,有一個半成品的架子,你只需要添上一些你自己額外需要加的東西就好了。這就是框架的好處。
其實框架,就是別人寫好了包裝起來的一套工具,把你原先必須要寫的,必須要做的一些復雜的東西都寫好了放在那裡,你只要調用他的方法,就可以實現一些本來要費好大勁的功能。
假如,好多好多地方都要用這么一套邏輯,那麼我們會定義成一個方法(函數),就免去了導出寫同樣代碼的麻煩,其實這個方法,就是一個框架啦,只不過非常小而已。
web開發的MVC模式,M是模型,V是視圖(表現層),C是控制層。
框架就是M層啦,他把一套不涉及任何業務相關的東西都寫好了包裝起來,你去用就可以了,C的控制層,他是沒法寫的,因為不同的系統有不同的業務邏輯,框架不可能幫你把業務邏輯也寫進去啦。就好比你蓋房子的架子,他只能做到一個架子,不是因為他不能完全弄好,而是因為他沒法去加,他也不知道你到底是需要什麼顏色的瓦片,但是相比來看,框架把很多復雜的東西都弄好了,你只要在上面添加你獨有的東西就可以了。

㈣ php開發需要框架嗎

php中也存在框架,如國內比較常用的thinkphp、brophp。國外的Laravel。但使用其也用利弊,分析如下:
框架是非常好的,它能讓決定更連貫。框架能避免我們寫一大堆自定義模塊來實現這些性能,我們所需要做的就是將這些共用模塊放在框架中實現。框架節省了我們不少的時間和精力,並且讓擴展變得更容易。但是這也是問題的根本所在。
對錘子來說,所有事物都是釘子
Abraham Kaplan說過的一句話能最好地控訴工具的缺點:把錘子給一個小孩,他會用錘子槌遇到的所有事物
這就是衡量你是否更職業的時候了,交付對未來擴展最好的代碼而不是交付最容易實現的代碼。是為了以後的需求更好的設計你的代碼還是讓以後的人做需求的時候再考慮,這就是程序員的責任感問題了。作為一個更職業的開發者,我們必須不依賴框架獨立思考。
這就是你的錯
是不是經常聽到某人在抱怨某個框架?我已經聽見好多人抱怨過Rails了:「Rails應用總是糟糕的結構」或者「Rails測試總是這么慢」。最開始,我也曾經這么認為。但是現在,每當我聽到這些抱怨的時候,我就會意識到其實抱怨者是懶惰的。Rails,或者其他框架,只是一個工具而已,你要做的是控制它。把壞代碼歸咎於無生命的框架只能說明你的不專業。
選擇正確的工具,或者正確地使用工具
決定變得更專業
我們必須根據基本的需求來選擇工具。框架確實能做很多事情,並且需求會決定整個代碼結構。有的時候框架會很適合某個需求。但是當框架不適合某些需求的時候,你就有責任為了代碼的清晰和干凈修改框架或者封裝框架。
作者Myles Megyesi正文結束讀後感文章中提到框架只是一個工具,你不能用這個工具來滿足你的所有需求,當框架無法清晰完整地滿足你的需求的時候,你要做的不是寫一大堆垃圾麻煩的代碼來實現需求,更不是修改你的需求來滿足更容易實現這件事。作為更專業的你,你需要修改框架,或者使用抽象等思維來使你的代碼達到清晰干凈。
這點在實際開發中會遇到非常多。當別人問你:這里的代碼為什麼這么寫? 如果你的回答是:沒辦法啊,因為框架是這么這么做的,我只能這么這么做。這就說明了你已經被框架束縛住了。不要認為框架是權威,框架也是別人寫的,它寫的時候不會考慮到你的需求。只要你的需求是團隊的公共需求,需要修改,增加框架的時候,你就應該修改框架。
代碼是讓人更清晰自然的閱讀和開發的,如果被一個框架捆綁住,實際上就是本末倒置了。

㈤ 做PHP網站一定要用框架嗎

不一定要用,根據需求,用不用,是你自己的選擇;

  1. 用框架開發的好處:

    1.公共代碼、類庫:這樣不用你再去寫一個具體的功能,可以直接拿來用,提高開發效率;

    2.代碼安全:框架一般都會輸入、輸出進行基本的過濾,提高了代碼攻擊的安全性;

    3.用更少的代碼實現更強大的功能;

    。。。好處多多

  2. 如果你只是想打實自己的基礎,完全可以不用框架開發

    如果在公司工作,我想你的領導會要求效率的

㈥ 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為什麼要用框架相關的資料

熱點內容
前端程序員留在北上還是二線 瀏覽:382
基於單片機的門禁控制系統 瀏覽:969
計算機怎麼折疊文件夾 瀏覽:148
什麼是伺服器拆機卡 瀏覽:279
ad18編譯pcb 瀏覽:344
開原研究生管理系統源碼 瀏覽:168
pdf擦除工具 瀏覽:373
帝國首頁模板下載哪個文件夾 瀏覽:855
有沒有用雲伺服器賺錢的 瀏覽:93
rubypdf 瀏覽:471
文藝復興史pdf 瀏覽:733
PDFgps測量 瀏覽:982
2k16生涯模式文件夾 瀏覽:395
研發雲伺服器續費 瀏覽:447
php地址重寫 瀏覽:344
網上練瑜伽用什麼app最好 瀏覽:557
文件夾為何搜索不了 瀏覽:338
怎麼快捷刪除lol換膚文件夾 瀏覽:253
pdf填字 瀏覽:298
opencv立體匹配演算法 瀏覽:461