## 為什么是 PHP?
PHP 全稱是 PHP: Hypertext Preprocessor,譯為:『超文本預處理器』。是一門開源腳本語言,專為『動態 Web 開發』而生。
PHP 在服務器腳本語言市場占有率中遙遙領先于其他對手:

上圖是由 [W3Techs](https://w3techs.com/technologies/overview/programming_language/all) 網站提供的[ 服務器端腳本語言市場占有率](https://w3techs.com/technologies/overview/programming_language/all) 排名,數據樣本是 [Alexa](http://www.alexa.com/) 世界排名 前一千萬 的網站,其中 82.6% 使用 PHP 構建,此數據每日更新。可以看出 PHP 驚人的市場占有率。世界上大部分的商業網站在使用 PHP,可想而知這些企業對 PHP 的人才需求能有多巨大。
> 擴展閱讀:[為什么 PHP 是最好的語言?現在是,將來也會是](https://zhuanlan.zhihu.com/p/26704744)
### 作為職業
如果你在選擇職業,巨大的市場占有率有以下好處:
* 人才需求大 - 好找工作
* 學習的人多 - 資料多,社區 活躍;
* 解決方案多 - 開發中基本上遇不到什么技術難題。
### 架構選型
如果你是創業者或者技術負責人,在做技術架構選型,PHP 的巨大的市場占有率有以下好處:
* 招人好招 - 筆者喜愛 ROR(基于 Ruby 語言),但是在 PHP 有了 Laravel 后毫不猶豫就把公司的整個技術堆棧切到 PHP,最大原因就是 人好招,創業公司里,組建團隊是個頭痛的問題;
* 解決方案多 - PHP 有很多優質的開源軟件,拿過來直接就能使用。另外,作為日常開發,也是非常方便。舉個有趣的例子:很多第三方開發者服務 SDK 包優先考慮的就是先出個 PHP 的 SDK,原因就是:PHP 占有率高。
## 什么是 Laravel?
[Laravel](https://laravel.com/) 是 Taylor Otwell 開發的一款基于 PHP 語言的 Web 開源框架,采用了 MVC 的架構模式,在 2011 年 6 月正式發布了首個版本。
由于 Laravel 具備 Rails 敏捷開發等優秀特質,深度集成 PHP 強大的擴展包(Composer)生態與 PHP 開發者廣大的受眾群,讓 Laravel 在發布之后的短短幾年時間得到了極其迅猛的發展。我們通過 Google Trends 提供的趨勢圖(圖 1.1)可以看出,Laravel 框架在過去十年,其增長速度在各類 PHP 框架中都是有史以來最快的,這也從正面直接反映出了 Laravel 的強大,以及其未來非常可觀的發展前景。
圖 1.1 - Google 趨勢(Laravel 為綠色)

> 擴展閱讀:[數據說話 - 最火的 PHP 框架是哪個?](https://zhuanlan.zhihu.com/p/24673684)
## 為何 Laravel 如此受歡迎?
一個優秀的工程師在構建一個語言框架時,應該懂得如何去協調好框架和語言之間的關系,并借助前人的智慧來思考框架的合理性與可擴展性。Laravel 的作者 Taylor Otwell 無疑做到了這一點。
若你之前對 Web 開發有所了解,那么你可能會知道有個叫 Ruby on Rails(簡稱 Rails)的知名 Web 開發框架。Rails 是基于 Ruby 語言構建的一個 Web 開發框架,該框架有以下原則:
* 強調與注重敏捷開發;
* 約定高于配置(Convention over configuration);
* DRY(Don't repeat yourself)不要重復自己,提倡代碼重用;
* 重視「編碼愉悅性」。
自誕生之日起,Rails 便受到了技術社區的廣泛關注與討論。而 Laravel 正是由于結合了 Rails 框架的這幾項優秀特質,才使得其在 PHP 社區中備受推崇。
## Laravel 版本類型有哪些?
Laravel 有兩個版本類型:
1. LTS 版本 - 長期支持版本,英文 Long Term Support 的縮寫,此類版本是 Laravel 能提供的最長時間維護版本。
2. 一般發行版 - 只提供 6 個月的 Bug 修復支持,一年的安全修復支持。
什么是『長期支持』?
> 長期支持 (英語:Long-term support,縮寫:LTS)是一種軟件的產品生命周期政策,特別是開源軟件,它增加了軟件開發過程及軟件版本周期的可靠度。長期支持延長了軟件維護的周期;它也改變了軟件更新(補丁)的類型及頻率以降低風險、費用及軟件部署的中斷時間,同時提升了軟件的可靠性。但這并不必然包含技術支持。
在長期支持周期的開始,軟件設計師會將軟件特性凍結:他們制作補丁來修復程序錯誤及計算機安全隱患,但不會加入新的,可能會造成軟件破壞的功能。軟件維護者可能會單獨發布補丁,或是將其置于維護版本、小數點版本或是服務包中發布。支持周期結束后,其稱之為產品的生命周期結束。
“長期支持”這個術語通常是保留給特殊的軟件版本,其他版本會有更短的生命周期。通常來說,長期支持版本至少會被維護兩年。
From [維基百科](https://zh.wikipedia.org/w/index.php?title=%E9%95%B7%E6%9C%9F%E6%94%AF%E6%8F%B4&redirect=no)
## Laravel 有著怎樣的版本計劃?
| 版本 | 發布日期 | 版本類型 | 維護周期 |
| --- | --- | --- | --- |
| Laravel 5.1 | 2015 年 6 月 | LTS 長久支持 | Bug 修復 2017 年 6 月份,安全修復 2018 年 6 月份 |
| Laravel 5.2 | 2015 年 12 月 | 一般發行 | 提供 6 個月的 Bug 修復支持,一年的安全修復支持 |
| Laravel 5.3 | 2016 年 8 月 | 一般發行 | 提供 6 個月的 Bug 修復支持,一年的安全修復支持 |
| Laravel 5.4 | 2017 年 1 月 | 一般發行 | 提供 6 個月的 Bug 修復支持,一年的安全修復支持 |
| Laravel 5.5 | 2017 年 8 月 | LTS 長久支持 | Bug 修復 2019 年 8 月份,安全修復 2020 年 8 月份 |
需要注意的是,以上只是大致的計劃,版本的最終發布時間會有所變動。
## 如何選擇 Laravel 版本?
不同角色,不同項目類型,有不同的建議:
* 如果你是新手,目的只是為了學習,請直接選用最新版本;
* 如果是現有項目,目的是學成后能對項目進行二次開發,請選用與項目匹配的版本進行學習;
* 如果是商業項目,請優先考慮 LTS 版本;