為什麼你應該使用一個PHP框架

青牛發表於2015-07-11

大家好!

在一個新專案上,你是否應該使用一個 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 OtwellDayle Rees

我希望能幫到你們,謝謝。


作者:Junior Grossi,PHP開發者,精通 Zend 框架,此外涉足 Rails 開發,對 Java 和 C 也相當有經驗。

原文: Why you should use a PHP Framework and why I am using Laravel

感謝: Jodoo 幫助審閱並完成校對。

P.S. 如果您喜歡這篇文章並且希望學習程式設計技術的話,請關注一下 復唧唧

相關文章