首頁 > 後端開發 > php教程 > PHP開發框架:Laravel

PHP開發框架:Laravel

WBOY
發布: 2016-07-25 09:12:30
原創
964 人瀏覽過

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

功能特徵

1、文法更有表現力

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

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

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

再看看這段程式碼: 

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

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

2、高品質的文件

CodeIgniter 非常流行原因之一是它有良好的文件。這對程式設計師來說是十分方便的。相較之下,Kohana一個在技術上比CI更優秀的框架,但你猜怎麼著? 大家不在乎Kohana技術有多強,因為Kohana的文檔實在太糟糕了。 而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可以自動處理這些工作,但不要忘了呼叫對應方法和手動設定分頁系統!

專案首頁:http://www.open-open.com/lib/view/home/1393898144240



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板