首頁  >  文章  >  php框架  >  Laravel 特色有哪些?

Laravel 特色有哪些?

Guanhui
Guanhui原創
2020-06-28 10:42:064631瀏覽

Laravel特點:1、「artisan」命令列工具,可以自動化完成手動的工作;2、「migration」管理資料庫和版本控制;3、測試功能也很強大;4、適合應用各種開發模式TDD、DDD和BDD;5、支援Composer套件管理工具。

Laravel 特色有哪些?

Laravel是一套簡潔、優雅的PHP Web開發框架(PHP Web Framework)。它可以讓你從麵條一樣雜亂的程式碼中解脫出來;它可以幫你建立一個完美的網路APP,而且每行程式碼都可以簡潔、富於表達力。

在Laravel中已經具有了一套高級的PHP ActiveRecord實作 -- Eloquent ORM。它能方便的將「約束(constraints)」應用到關係的雙方,這樣你就具有了對數據的完全控制,而且享受到ActiveRecord的所有便利。 Eloquent原生支援Fluent中查詢建構器(query-builder)的所有方法。

推薦影片教學:《PHP教學

#功能特點

##1、文法更富有表現力

你知道下面這行程式碼裡「true」 代表什麼意思麼?

$uri = Url::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、應用程式邏輯(Application Logic)可以在控制器(controllers)中實現,也可以直接整合到路由(route)聲明中,並且語法和Sinatra框架類似。 Laravel的設計理念是:給開發者最大的彈性,既能創建非常小的網站也能建立大型的企業應用程式。

3、反向路由(Reverse Routing)賦予你透過路由(routes)名稱建立連結(URI)的能力。只要使用路由名稱(route name),Laravel就會自動幫你建立正確的URI。這樣你就可以隨時改變你的路由(routes),Laravel會幫你自動更新所有相關的連結。

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

5、自動載入類別(Class Auto-loading)簡化了類別(class)的載入工作,以後就可以不用去維護自動載入設定表和非必須的元件載入工作了。當你想要載入任何函式庫(library)或模型(model)時,立即使用就行了,Laravel會自動幫你載入需要的檔案。

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

7、反向控制容器(IoC container)提供了產生新物件、隨時實例化物件、存取單例(singleton)物件的便捷方式。反向控制(IoC)意味著你幾乎不需要特意去載入外部的函式庫(libraries),就可以在程式碼中的任意位置存取這些對象,並且不需要忍受繁雜、冗餘的程式碼結構。

8、遷移(Migrations)就像是版本控制(version control)工具,不過,它管理的是資料庫範式,並且直接整合在了Laravel中。你可以使用「Artisan」命令列工具產生、執行「遷移」指令。當你的小組成員改變了資料庫範式的時候,你就可以輕鬆的透過版本控制工具更新當前工程,然後執行「遷移"指令即可,好了,你的資料庫已經是最新的了!

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

10、自動分頁(Automatic Pagination)功能避免了在你的業務邏輯中混入大量無關分頁設定碼。方便的是不需要記住當前頁,只要從資料庫中取得總的條目數量,然後使用limit/offset取得選定的數據,最後呼叫'paginate'方法,讓Laravel將各頁連結輸出到指定的視圖( View)中即可,Laravel會替你自動完成所有工作。 Laravel的自動分頁系統設計為容易實現、易於修改。雖然Laravel可以自動處理這些工作,但不要忘了呼叫對應方法和手動設定分頁系統!

推薦教學:《Laravel

#

以上是Laravel 特色有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn