程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 初識Laravel,laravel

初識Laravel,laravel

編輯:關於PHP編程

初識Laravel,laravel


#緣由

這兩天,我在做一個小活兒的一個小功能,想想反正現在時間不急,我就嘗試一下新的工具,Laravel。

#Laravel官網截圖:

#Laravel哲學

Laravel是一套web應用開發框架,它具有富於表達性且簡潔的語法。我們相信,開發過程應該是愉悅、創造性的體驗。Laravel努力剔除開發過程中的痛苦,因此我們提供了驗證(authentication)、路由(routing)、session和緩存(caching)等開發過程中經常用到的工具或功能。

Laravel的目標是給開發者創造一個愉快的開發過程,並且不犧牲應用的功能性。快樂的開發者才能創造最棒的代碼!為了這個目的,我們博取眾框架之長處集中到Laravel中,這些框架甚至是基於Ruby on Rails、ASP.NET MVC、和Sinatra等開發語言或工具的。

Laravel是易於理解並且強大的,它提供了強大的工具用以開發大型、健壯的應用。傑出的IoC、數據庫遷移工具和緊密集成的單元測試支持,這些工具賦予你構建任何應用的能力。

#我的體驗

後台管理系統工作量比較大,我就准備規劃好數據庫,先做前台了。

於是,精彩的地方到了,我就在YouTube隨意搜了一下(你沒有看錯,就是Youtube!教育網內可以直接訪問了!只要有ipv6連接,就可以直接訪問,不需要VPN不需要代理不需要GoAgent不需要專用dns甚至都不需要hosts文件。

我按照這個視頻來做,發現總是不成功,後來發現這是一個sublime插件 Laravel Generator。裝上插件,發現插件需要PHP5.4,而我雖然5.3 5.4 5.5都裝了,但是在本地開發還是一直用5.3,因為目前我管理的所有的服務器都是5.3的。為什麼要求5.4?這還用問嗎,大量使用 [ ] 方式定義數組。搞了一大通,終於可以開始做了。

奇跡就是在這個時候發生的!一個小時以內,從數據庫都沒規劃的狀態,到了一個完整的前台頁面,依賴數據庫、包含foreach循環、使用Bootstrap流式布局、可發布的完整頁面就出現了!我還在群裡吼了一聲,Laravel生產力真是太高了!

#結語

從0點左右出來第一個前端頁面,到03:40左右做完,我邊學邊做,邊查文檔邊做,一個小項目的一個小功能就這樣完成了,算是超越了我之前用CI的生產力了。後續再給大家分享吧。


什是Laravel?

它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富於表達力。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”命令行工具生成、執行“遷移”指令。當你的小組成員改變了數據庫范式的時候,你就可以輕松的通過版本控制工具更新當前工程,然後執行“遷移指令即可,好了,你的數據庫已經是最新的了!11、自動分頁(Automatic Pagination)功能避免了在你的業務邏輯中混入大量無關分頁配置代碼。方便的是不需要記住當前頁......余下全文>>
 

laravel中的$this['key']形式原理

laravel沒概念 $this['key']這個寫法不很通用的麼 像php數組
<?php
$arr= array("1"=>32, "2"=>30, "3"=>34);
echo $arr['1'];
?>
$this 當前的一個數組 或類吧 $this['key']是更據key獲取value 很合理啊 還是其他意思?
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved