這章節,我們要簡單的呈現頁面的樣貌,所以還無法寫CRUD,至於什麼是CRUD,如果進度允許我下次會與大家做介紹,或許下禮拜就會開始介紹。

先簡單認識HTTP

HTTP請求方法(Request methods)

請求方法 意思 範例執行動作
GET 讀取 查詢使用者
POST 新增 新增使用者
PUT 修改(修改整份文件) 修改使用者
PATCH 修改(修改其中幾個欄位)
DELETE 刪除 刪除使用者
HEAD
CONNECT
OPTIONS
TRACE

HTTP狀態碼(Status Code)

HTTP Status Code(HTTP狀態碼),網站伺服器端就會回傳狀態碼(Status Code),以下為常見的狀態。

成功回應

200 OK 請求成功

重定向訊息

301 Moved Permanently 永久轉址
302 Found 短暫轉址
304 Not Modified 未變動或未修改

用戶端錯誤回應

400 Bad Request 錯誤請求
403 Forbidden 未經授權
404 Not Found 找不到網頁
408 Request Timeout 請求超時
410 Gone 永久移除或已不存在、過時網頁

伺服器端錯誤回應

500 Internal Server Error 內部伺服器錯誤,無法回應
502 Bad Gateway 伺服器的服務沒有正確執行
503 Service Unavailable 暫停服務
504 Gateway Timeout 伺服器上的服務超時

必須認識的REST/RESTful API

請求方法定義了多種方法,一個架構符合REST原則,就稱它為RESTful架構。

REST

Representational State Transfer(資源表示狀態傳輸),REST是一種設計風格而不是標準,REST的特徵分為伺服器/客戶端分離、無狀態、可快取、分層、統一介面。。HTTP符合REST架構,但使用HTTP就不一定符合REST架構。

參考:[筆記] REST 到底是什麼

RESTful API

美麗(Beauty)的事物可以稱為Beautiful,設計為REST的系統就可以稱為RESTful,RESTful API與HTTP協議操作無關,但HTTP的方法(請求)是RESTful API的一種規範,所以有必要知道HTTP。

路由(Route)

在網路管理中有一項設備是router(路由器),他可以算是網路的中繼點,他負責配發給各User各自的IP。Laravel路由(Route)也一樣,配發給各頁面一組網址(門牌),也就是掌控各網站的網址連結。假設有三個角色,如下圖,那人資就是那個扮演Route的角色。

Route類別符合RESTful標準(GET、POST、PUT、DELTE)等請求方式。

專案名稱/routes/web.php

/ = 根目錄,但也可以設定其他的網址。
return = 導向哪個頁面、顯示哪一個View、或者是返回值。

return view('welcome'); 導向 專案名稱/resources/views/welcome.blade.php
為什麼只有welcome 沒有 welcome.blade.php,在laravel中會省略blade.php,但我們在建立blade模板時,是不得省略的,所以命名時要打正確,詳細的blade.php我們之後再做詳細介紹囉!

製作頁面(文字)

我們寫幾個簡單的文字,傳到頁面上,下方有兩段程式碼,兩個只差在有沒有/ 根目錄的,其實可以做省略,結果是不影響的。

程式碼

1
2
3
4
5
6
7
8
9
Route::get('/demo', function () {
return '大家好,我是小黑';
});

//OR

Route::get('demo', function () {
return '大家好,我是小黑';
});

結果

製作頁面(傳值)

我們可以get URL的值,傳到頁面上,但千萬記得function一定要給變數,這樣才可能回傳變數到頁面上。

程式碼

1
2
3
Route::get('hi/{name}', function ($name) {
return '您好,我是'.$name;
});

結果

輸入:http://127.0.0.1:8000/hi/姓名


上面的解釋可能讓有些人不太能理解,但如果以原生的PHP去做,那會怎麼做呢?參考以下範例,其實大概差不多的意思。

程式碼

1
2
3
4
5
echo '您好,我是'.view($_GET['name']);

function view($name){
return $name;
}

結果

查看所有 路由

寫一個網站可能會寫超多路由,我們可以透過這段指令去查詢所設定的路由

1
php artisan route:list

結論

基本認知是必要的,如果直接上戰場,真的會不知道如何上手,一步一腳印,總會學起來的。

標籤: w3HexSchool PHP Laravel