Laravel

Laravel

軟件開發框架
Laravel是一套簡潔、優雅的PHP Web開發框架(PHP Web Framework)。[1]它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。
  • 中文名:
  • 外文名:Laravel
  • 别名:
  • 定義:簡潔、優雅的PHP Web開發框架
  • 特點:簡潔、富于表達力
  • 當前版本分支:8.x
  • 作者:泰勒.奧特威爾

功能特點

1、語法更富有表現力

你知道下面這行代碼裡“true”代表什麼意思麼?

$uri=Uri::create(‘some/uri’,array(),array(),true);

另外,你知道其他參數在這裡的意思麼(除了第一個)?當然你不知道。因為這行代碼沒有表現力。

再看看這段代碼:

$url=URL::to_secure(‘some/uri’);

這個表達式使用HTTPS協議創建了一條URL鍊接,事實上,上面兩種寫法都在做同樣的事情,但哪一個更一目了然,更富有表現力呢?

2、高質量的文檔

Laravel有一個非常棒的的社區支持。Laravel代碼本身的表現力和良好的文檔使PHP程序編寫令人愉快。

3、豐富的擴展包

Bundle是Laravel中對擴展包的稱呼。它可以是任何東西--大到完整的ORM,小到除錯(debug)工具,僅僅複制&粘貼就能安裝任何擴展包!Laravel的擴展包由世界各地的開發者貢獻,而且還在不斷增加中。

4、開源、托管在GITHUB上

Laravel是完全開源的。所有代碼都可以從Github上獲取,并且歡迎你貢獻出自己的力量。

技術特點

1、Bundle是Laravel的擴展包組織形式或稱呼。Laravel的擴展包倉庫已經相當成熟了,可以很容易的幫你把擴展包(bundle)安裝到你的應用中。你可以選擇下載一個擴展包(bundle)然後拷貝到bundles目錄,或者通過命令行工具“Artisan”自動安裝。

2、在Laravel中已經具有了一套高級的PHP ActiveRecord實現--Eloquent ORM。它能方便的将“約束(constraints)”應用到關系的雙方,這樣你就具有了對數據的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查詢構造器(query-builder)的所有方法。

3、應用邏輯(Application Logic)可以在控制器(controllers)中實現,也可以直接集成到路由(route)聲明中,并且語法和Sinatra框架類似。Laravel的設計理念是:給開發者以最大的靈活性,既能創建非常小的網站也能構建大型的企業應用。

4、反向路由(Reverse Routing)賦予你通過路由(routes)名稱創建鍊接(URI)的能力。隻需使用路由名稱(route name),Laravel就會自動幫你創建正确的URI。這樣你就可以随時改變你的路由(routes),Laravel會幫你自動更新所有相關的鍊接。

5、Restful控制器(Restful Controllers)是一項區分GET和POST請求邏輯的可選方式。比如在一個用戶登陸邏輯中,你聲明了一個get_login()的動作(action)來處理獲取登陸頁面的服務;同時也聲明了一個post_login()動作(action)來校驗表單POST過來的數據,并且在驗證之後,做出重新轉向(redirect)到登陸頁面還是轉向控制台的決定。

6、自動加載類(Class Auto-loading)簡化了類(class)的加載工作,以後就可以不用去維護自動加載配置表和非必須的組件加載工作了。當你想加載任何庫(library)或模型(model)時,立即使用就行了,Laravel會自動幫你加載需要的文件。

7、視圖組裝器(View Composers)本質上就是一段代碼,這段代碼在視圖(View)加載時會自動執行。最好的例子就是博客中的側邊随機文章推薦,“視圖組裝器”中包含了加載随機文章推薦的邏輯,這樣,你隻需要加載内容區域的視圖(view)就行了,其它的事情Laravel會幫你自動完成。

8、反向控制容器(IoC container)提供了生成新對象、随時實例化對象、訪問單例(singleton)對象的便捷方式。反向控制(IoC)意味着你幾乎不需要特意去加載外部的庫(libraries),就可以在代碼中的任意位置訪問這些對象,并且不需要忍受繁雜、冗餘的代碼結構。

9、遷移(Migrations)就像是版本控制(version control)工具,不過,它管理的是數據庫範式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、執行“遷移”指令。當你的小組成員改變了數據庫範式的時候,你就可以輕松的通過版本控制工具更新當前工程,然後執行“遷移"指令即可,好了,你的數據庫已經是最新的了!

10、單元測試(Unit-Testing)是Laravel中很重要的部分。Laravel自身就包含數以百計的測試用例,以保障任何一處的修改不會影響其它部分的功能,這就是為什麼在業内Laravel被認為是最穩版本的原因之一。Laravel也提供了方便的功能,讓你自己的代碼容易的進行單元測試。通過Artisan命令行工具就可以運行所有的測試用例。

11、自動分頁(Automatic Pagination)功能避免了在你的業務邏輯中混入大量無關分頁配置代碼。方便的是不需要記住當前頁,隻要從數據庫中獲取總的條目數量,然後使用limit/offset獲取選定的數據,最後調用‘paginate’方法,讓Laravel将各頁鍊接輸出到指定的視圖(View)中即可,Laravel會替你自動完成所有工作。Laravel的自動分頁系統被設計為容易實現、易于修改。雖然Laravel可以自動處理這些工作,但是不要忘了調用相應方法和手動配置分頁系統哦!

安裝環境要求

PHP>=5.5.9

OpenSSL PHP Extension

PDO PHP Extension

Mbstring PHP Extension

Tokenizer PHP Extension

相關詞條

相關搜索

其它詞條