必威电竞|足球世界杯竞猜平台

Laravel
來源:互聯(lián)網(wǎng)

Laravel是一套PHP Web開發(fā)框架(PHP Web Framework),可以讓用戶從面條一樣雜亂的代碼中解脫出來;可以幫助構(gòu)建一個完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達力。Laravel中已經(jīng)具有了一套高級的PHP ActiveRecord實現(xiàn) -- Eloquent ORM。其能方便地將“約束(constraints)”應(yīng)用到關(guān)系的雙方,這樣用戶就具有了對數(shù)據(jù)的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持fluent中查詢構(gòu)造器(query-builder)的所有方法。

功能特點

1、語法更富有表現(xiàn)力

代碼里“true”代表什么意思?

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

其他參數(shù)在這里的意思(除了第一個)?難得出結(jié)論,因為這行代碼沒有表現(xiàn)力。

再看這段代碼:

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

這個表達式使用https協(xié)議創(chuàng)建了一條URL鏈接,事實上,上面兩種寫法都在做同樣的事情,但后者更有表現(xiàn)力。

2、高質(zhì)量的文檔

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

3、豐富的擴展包

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

4、開源、托管在GitHub

Laravel是完全開源的。所有代碼都可以從GitHub上獲取,并且歡迎用戶貢獻力量。

技術(shù)特點

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

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

3、反向路由(Reverse Routing)賦予用戶通過路由(routes)名稱創(chuàng)建鏈接(URI)的能力。只需使用路由名稱(route 人名),Laravel就會自動幫助創(chuàng)建正確的URI。這樣就可以隨時改變路由(routes),Laravel會自動更新所有相關(guān)的鏈接。

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

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

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

7、反向控制容器(IoC 集裝箱)提供了生成新對象、隨時實例化對象、訪問單例(singleton)對象的便捷方式。反向控制(IoC)意味著幾乎不需要特意去加載外部的庫(libraries),就可以在代碼中的任意位置訪問這些對象,并且不需要忍受繁雜、冗余的代碼結(jié)構(gòu)。

8、遷移(Migrations)就像是版本控制(version ctrl)工具,不過,其管理的是數(shù)據(jù)庫范式,并且直接集成在了Laravel中。用戶可以使用“Artisan”命令行工具生成、執(zhí)行“遷移”指令。當小組成員改變了數(shù)據(jù)庫范式的時候,用戶就可以輕松的通過版本控制工具更新當前工程,然后執(zhí)行“遷移"指令即可,此時數(shù)據(jù)庫已經(jīng)是最新的。

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

10、自動分頁(Automatic Pagination)功能避免了在業(yè)務(wù)邏輯中混入大量無關(guān)分頁配置代碼。方便的是不需要記住當前頁,只要從數(shù)據(jù)庫中獲取總的條目數(shù)量,然后使用極限/offset獲取選定的數(shù)據(jù),最后調(diào)用‘paginate’方法,讓Laravel將各頁鏈接輸出到指定的視圖(View)中即可,Laravel會自動完成所有工作。Laravel的自動分頁系統(tǒng)被設(shè)計為容易實現(xiàn)、易于修改。雖然Laravel可以自動處理這些工作,但是不要忘了調(diào)用相應(yīng)方法和手動配置分頁系統(tǒng)。

安裝環(huán)境要求

?PHP >= 5.5.9

??OpenSSL PHP Extension

??PDO PHP Extension

??Mbstring PHP Extension

??Tokenizer PHP Extension

Laravel 5.3 的最新版本要求 PHP >= 5.6.4

參考資料 >

文檔:如何安裝 Laravel 5.3 ?.Laravel China.2016-09-22

生活家百科家居網(wǎng)