詳細介紹使用PHP架構的原因_PHP教程

來源:互聯網
上載者:User
PHP架構為各種技術等級的開發人員減少了重複編碼的需求、加快了開發進程,並在建立web應用時確保正確的編碼。這不僅加快了富應用開發的進程,同時也通過減少代碼的安全性漏洞而增強了PHP的安全性。

PHP成為世界上最流行的指令碼語言有許多原因:靈活性,易用性等等。但通常只用PHP或者其他語言編碼就會顯得單調、重複,這時候就需要一個PHP架構來代替程式員完成那些重複不變的部分。本文通過回答What, When, Why 以及 Which這些問題,將對PHP架構進行全面解析。

PHP架構是什嗎?

PHP架構提供了一個用以構建web應用的基本架構,從而簡化了用PHP編寫web應用程式的流程。換言之,PHP架構有助於促進快速應用開發( RAD ),不但節省開發時間、有助於建立更穩定的應用,而且減少了重複編碼的開發。通過確保適當的資料庫交換和在表現層編碼,架構還可以協助初學者建立更穩定的應用服務。這可以讓你花更多的時間去建立實際的Web應用程式,而不是花時間寫重複的代碼。

通常認為PHP架構的作用相當於模型-視圖-控制器(Model View Controller)。MVC是種編程的架構模式,將商務邏輯從UI中分離出來,允許一個一個單獨修改(也稱為關注點分離)。在MVC中,Model指資料,View指表現層,Controller則指應用程式或商務邏輯。基本上, MVC打破了一個應用的開發進程,這樣各組件就可以不受影響地各自工作。從本質上講,這使得用PHP編碼更快更簡單。

為什麼要使用PHP架構?

開發人員使用PHP架構的好處很多,其中之一是加快開發進程。在類似項目中重用代碼將為開發人員節省大量的時間和精力。架構為執行繁瑣的代碼任務提供預建模組,因此,開發人員可以把時間花在實際應用的開發上,而不是每一個項目都重新構建基礎功能。

穩定是開發人員使用架構的另一個重要原因。雖然簡單是PHP最大的優點,很多人也因為這一點喜歡使用這個指令碼語言,但它同時也是PHP最大的缺點。一些開發人員尤其是初學者很容易寫出低劣的代碼,而自己卻沒有意識到。使用PHP,應用往往會將靜態工作加倍,不知不覺中您可能已經在編碼時開啟了一個大的安全性漏洞,因此可能會受到攻擊。重要的是要記住,PHP是一個非常寬容的語言,因此,更重要的是在編程時確保封閉任何漏洞,即便應用看起來可以正常工作。

最後,PHP架構的使用是非常廣泛的,而且有許多不同的架構可供選擇。許多開發人員會選擇知名的架構,是因為它的知名度、其Team Dev的巨大支援,而且他們可以通過論壇/社區來與其他使用相同架構的開發人員交流,當然你也可以開發自己的架構。這裡提醒一下,首先應該檢查你的項目來決定是否應該使用一個架構。你應該問自己:它會節省你和其他使用者的時間和精力嗎?應用程式的效能會更好嗎?是否會提高穩定性?如果這些問題你的回答都是是,那麼你就該為你的項目選擇一個合適的架構了。

何時使用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有一個活躍的開發人員社區,內有大量的支援性文檔和說明。

另外,可參考php100之前發布的國外十大最流行PHP架構排名一文。

總結

雖然一些專家級PHP程式員覺得沒有必要使用架構開發Web應用程式,但PHP架構仍然可以是快速開發的優秀解決方案,比如在工期很緊的情況下。從初級到中級開發人員,架構可以提高PHP的學習,同時促進良好的代碼編寫和減少壞代碼。

今天有很多的PHP架構可用,因此開發人員肯定能從中找到一個適合自己的架構:功能、支援、速度、可擴充性等。


http://www.bkjia.com/PHPjc/445780.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445780.htmlTechArticlePHP架構 為各種技術等級的開發人員減少了重複編碼的需求、加快了開發進程,並在建立web應用時確保正確的編碼。這不僅加快了富應用開發的...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.