iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
1
Modern Web

30天成為Laravel萌新系列 第 9

30天成爲Laravel萌新(第8天) - 路由&頁面模板(1)

  • 分享至 

  • xImage
  •  

接下來幾天,會交叉介紹路由(Route)和頁面模板(View/Blade)。幾經思考,這兩者關係十分密切,不太好單獨撰寫。


關於路由(Route),我們曾經在第六天短暫看到過。

<?php
Route::get('/', function () {
    return '<h1>Hello</h1>';
});

現在我們看看routes資料裡面的內容:

  • api.php
  • channels.php
  • console.php
  • web.php

我們修改的是web.php的內容,這也是最主要訂立路由的檔案。api.php的檔案實際上也不太有差別,不過api.php底下定義的路由,預設會前置增加api/的前綴,是設計用於提供HTTP API路由定義的檔案。

瀏覽 http://localhost/ 以後,就會顯示Hello World如果你嘗試右鍵瀏覽網頁原始碼(view-source:http://localhost/)就會看到<h1>Hello</h1>

在回頭看看網址,除了localhost外,後面的就是路徑/,認知道這個斜線是很重要的,因為Apache2和Nginx對於結尾斜線的認知有些不同。接著再在wep.php增加以下入由看看:

use Illuminate\Http\Request;

Route::any('/hello-world/', function () {
    return '<h1>Hello, World</h1>';
});

Route::get('/hello', function (Request $request) {
    return '<h1>Hello,'.$request->query('name').'</h1>';
});

Route::get('/hello/{name}', function ($name) {
    return '<h1>Hello, '.$name.'</h1>';
});

現在瀏覽看看http://localhost/hello-world/ ,字樣會變成 Hello, World。再瀏覽到http://localhost/hello/Daniel 或是 http://localhost/hello?name=Daniel ,就會換看到 Hello, Daniel

Route後面可以給定方法(anypostget),然後路徑,在路徑上還可以傳遞參數({name})給後面的handler(函數)。

另外handler可以而外接受一個Request類別的參數。Request可以使用->query()->input()方法取得GET或是POST傳遞的資料。

本文同步發表於隨性筆記


上一篇
30天成爲Laravel萌新(第7天) - 認識artisan
下一篇
30天成爲Laravel萌新(第9天) - 路由&頁面模板(2)
系列文
30天成為Laravel萌新32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言