為什麼你應該使用一個PHP框架
大家好!
在一個新專案上,你是否應該使用一個 PHP 框架?就此問題,我闡述一下我的個人觀點,希望對你有所幫助。
首先,我對語言及其框架有一個簡單的概念:一個框架必須讓開發變得更加簡單。每個軟體都有一個目的:有效工作!這是每一個專案的主要目標,簡化某些人的生活。
談到 PHP,它是一門非常簡單的語言,設計初衷就是簡單和快速。如果你想要一種複雜或者充滿依賴的語言,PHP 不是你最好的選擇。
PHP 可以在一行程式碼中做許多事情,它有這個能力,因此,如果你選擇的程式設計框架,做同樣的事情需要仍需3或4行程式碼,還是使用原生 PHP 語言吧。但是你會問我,你選擇的框架雖然只是做了同樣的工作,但做得更好,使用了物件導向的程式設計方法,或者程式碼更加整潔漂亮。請記住,你的首要任務是讓你的專案有效工作。當然,物件導向程式設計是推薦的方式,你應該使用它,它會讓你的開發看起來更簡單些。PHP 正朝著物件導向大步邁進,不久之後,->
將被取代,那時一切都將變成 OO,就像:
String.length()
我想說的是,你們應該使用更簡單的方式,使得開發更快更好。想要借 PHP 之力達此目的,那就選擇一個能使你工作更高效的框架吧。現有的一些程式設計框架,難度幾乎和你學習另一種程式語言差不多。對我來說,一個框架必須容易學習,短時間內能上手開發,這樣你就可以用它去賺錢了。
對於 Ruby on Rails 框架,我有一些開發經驗,大量 PHP 程式設計師轉移到 RoR 的原因就是因為它很簡單,僅此而已。在 RoR 上寫程式碼就如同說話一般,使用 PHP 當然也能達到同樣效果,只要你選對框架。如果你感覺使用像 Java 之類的架構更好,不妨看一下 Zend Framework。如果你想要更新的100% OO,但又要比 Zend 簡單點兒,那就用 Symfony 2。如果你是一名 Rails 粉絲,想要語法表達更直接了當,你可以選擇 Laravel 或者 CakePHP。
我真的很喜歡 Ruby on Rails 的開發方式,這就是我為什麼使用 Laravel 開發的原因。它是一個非常優秀的框架,你可以做任何你想要做的事情。你可以快速地學習它,只需閱讀官網文件即可。使用 Laravel 既可以建立一個簡單的 API,也能夠開發一個複雜的應用程式。
為什麼僅僅為了獲取活躍使用者資訊,你就必須要建立3個或4個類呢?應該簡單才對,就像 Laravel 及其 Eloquent ORM 這樣:
User::where('status', '=', 'active')->get(); // all active users
User::find(2)->status; // get the status of user_id 2
你只需要閱讀這些程式碼,就能知道它在做什麼。就像和你在說話一樣,程式碼會告知你想知道的一切。你要是想渲染一個檢視或者使用它作為一個郵件訊息體:
$viewContent = View::make('users.welcome')->with('name', 'Grossi'); // 這樣就行了
Laravel 4(譯註:Laravel 5 已經發布)基於 Composer,這和 Zend Framework 2 以及 Symfony 2 不謀而合,如果你想要使用一些它們的元件,Composer 可以輕易地幫你做到。我在採用 Laravel 的專案中使用了大量的 ZF 元件,它們都工作得很好。
話說回來,你應該使用一個 PHP 框架去提高你的開發效率,但是,如果你能用純 PHP 做到同樣的事情,那就用純 PHP,因為你是在用 PHP 開發,而不是框架語言。
我也是一個 Zend Framework 程式設計師,要知道每個專案都不盡相同。但是請務必關注一下 Laravel 框架吧,不妨試一試。Laravel 是一個非常優秀的專案,它的開發團隊相當出色,其中有一些非常知名的程式設計師如 Taylor Otwell 和 Dayle Rees。
我希望能幫到你們,謝謝。
作者:Junior Grossi,PHP開發者,精通 Zend 框架,此外涉足 Rails 開發,對 Java 和 C 也相當有經驗。
原文: Why you should use a PHP Framework and why I am using Laravel
感謝: Jodoo 幫助審閱並完成校對。
P.S. 如果您喜歡這篇文章並且希望學習程式設計技術的話,請關注一下 復唧唧。
相關文章
- 轉享:為什麼你應該使用Play框架?框架
- 作為一個Java 程式設計師 你應該會什麼Java程式設計師
- [譯] 為什麼你應該開始使用 KotlinKotlin
- iOS提示框,為什麼你應該使用 MBProgressHUD?iOS
- 為什麼你應該永遠不要再使用MongoDBMongoDB
- 為什麼你應該學 Python ?Python
- [譯] 為什麼你應該停止使用 Git rebase 命令Git
- 為什麼你應該在你下個 Ruby APP 中使用 Neo4jAPP
- 為什麼你應該嘗試 “全棧”全棧
- 為什麼你應該嘗試“全棧”全棧
- 為什麼你應該為開源做設計
- 2018年,為什麼你該學PHP?PHP
- 為什麼每個Android開發者都應該使用AnkoAndroid
- 面試官: 你為什麼使用前端框架?面試前端框架
- 10個你應該學習使用的PHP特性PHP
- 遊戲公司為什麼應該有一個“編輯部”?遊戲
- 為什麼你應該學習程式設計程式設計
- [譯]為什麼你應該在相等比較中使用 Object.is()Object
- 為什麼你不應該辭職去做遊戲應用遊戲
- Android Beam:為什麼你應該關注這個隱藏功能Android
- 什麼時候你不應該使用微服務微服務
- 為什麼你應該先成為全棧工程師全棧工程師
- Python 集合是什麼,為什麼應該使用以及如何使用?Python
- 為什麼學校應該使用自由軟體
- 把一個庫開源,你該做些什麼
- 為什麼你應該成為六西格瑪黑帶大師
- 你知道Laravel為什麼會成為最優雅的PHP框架嗎?LaravelPHP框架
- 為什麼要使用框架框架
- 24 個你應該瞭解的 PHP 庫PHP
- PHP在一個框架中使用另一個框架PHP框架
- 為什麼你應該參與到開源專案中
- 拿到一個待檢測的站或給你一個網站,你覺得應該先做什麼?網站
- 為什麼每一個爬蟲工程師都應該學習 Kafka爬蟲工程師Kafka
- 求職季 | 為什麼每個開發者都應該堅持經營一個部落格?求職
- 為什麼 Python 開發人員應該使用 PipenvPython
- 為什麼應該在 Linux 上使用命名管道Linux
- 為什麼你永遠不應該在CSS中使用px來設定字型大小CSS
- 為什麼開發者應該摒棄敏捷?敏捷