iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

從0開始-30天摸索laravel系列 第 6

DAY6: 基礎 Routing

  • 分享至 

  • xImage
  •  

來囉來囉!!!開始laravel之旅了~

路由可以想像是個總機號碼/房間號碼,我們昨天已經看了一下laravel這整棟大樓的結構了

那我們怎麼知道誰/房間/目標在哪裡呢? 這時候就是來查看Route設定囉!

路由(Route)是Controller與view溝通之間的橋樑,將一個 HTTP 請求轉到指定的controller去處理,進而回傳畫面給使用者顯示。由這裡可以想像整個MVC是由Routing 來串起,Route 控制該使用哪一個Controller 與哪個 View來顯示,所以MVC的框架上通常都會有自訂的Route設定,那在laravel中則是由routes的資料夾下的web.php來做定義。

可以打開web.php來玩看看以下的程式碼唷!

基本的路由範例

Route::get('/', function () {
    return view('welcome');
});

這個範例是說,當URL = http://127.0.0.1:8000/ 的時候,回傳一個名字為'welcome'的view

另外一個範例

Route::get('/', function () {
    return 'hello world';
});

這個範例是說,當URL = http://127.0.0.1:8000/ 的時候,回傳字串 hello world。

那一定有發現Route後面接了一個get,這個get指的是http method,一般常用的有GET、POST、PUT、DELETE這四種,甚至也有人將PUT省略,這就牽扯到RESTful API的部分了。

大略提一下RESTful API,大致網址會很像
/GET /users
/GET /user/1

http method:
GET:讀取資料(不會變更資料)
POST:新增資料,表單送出或是上傳檔案這一類的行為(新增)
PUT:更新資料(更新)
DELETE:刪除資料時(刪除)

官網也給了這樣的範例,由上面的基礎範例來以此類推
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::delete($uri, $callback)

在laravel中,Route還可以命名,藉由自行命名路由的名稱,這樣方便撰寫程式時,可以明確及簡短的呼叫路由,也不會因為程式邏輯的關係,降低程式碼的閱讀性。

使用方式(這之後再玩看看):

Route::get('user/profile', function () {
    //
})->name('profile');

暫時以有用到再去研究~不然內容真的也有點多,也不好吸收呀


上一篇
DAY5: laravel架構
下一篇
DAY7: 今晚再來點基礎 Routing
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言