iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
2
自我挑戰組

Laravel 學習歷程系列 第 10

Day10 【Laravel 學習歷程】- 路由Routes(1)

我們想要透過http(s)與客戶端互動就要定義路由,但是

Laravel如何定義路由呢?

在專案裡面中routes資料夾的子目錄有分為

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

Laravel的框架我們會透過 routes 定義路由,
像是在 /web.php 裡面定義web相關的routes、在 /api.php 裡面定義api相關的routes
這樣一來就不會一團亂的,像我有時候就會把webapi的混在一起,
都要找一下才找到自己要的哈哈 應該是我自己太天兵

但在Laravel裡面,好像就需要一個個設定路由
CI只有api跟特定頁面要另外設定路由。

GET & POST

先來個GET跟POST的路由設定吧,因為我也是在寫api的時候會用到路由哈哈

GET是什麼呢

就是將要傳送的值藉由GET來請求URL發送,
所以相對的,GET就不適合用來傳遞一些需要較高安全性的資料,像是密碼、個資等等的
因為,

這樣你的資料跟密碼就被一覽無遺了阿~~~母湯喔~~

GET的請求會被Cache紀錄、GET的請求受限於 QueryString 長度限制(依瀏覽器規定),
因此GET的使用時機應為檢視資料時使用

都一樣是傳值,那POST有什麼不一樣呢?/images/emoticon/emoticon19.gif

POST是什麼呢

傳送的值藉由POST請求HTTP發送,簡單來說POST是把資料放在訊息主體內進行傳送
而POST的請求不會被Cache紀錄、POST的請求對資料長度沒有限制,因此POST比GET更安全,所以較適合用來傳送隱密性較高的資料
而在PHP中,當資料傳送出來後,GET傳值是運用PHP的$_GET['xxx']的變數接收,POST傳值是運用PHP的$_POST['xxx']的變數接收
(回想剛學習那時,常把兩者弄混淆,以至於抓不到值)

基本GET路由

  1. 假如我們想讓使用者造訪跟目錄的時候,
    直接回傳某個特定的例如 home.blade.php 的內容
    我們就這麼打

    Route::get('/', function () {
       return view('home');
    });
    
  2. 假如我們是想傳遞某個字串或陣列,
    不想透過echoprint來回傳的時候我們怎麼運用Routes來傳遞呢
    就印個最籠統的Hello World來作範例

    Route::get('/', function(){
       return 'Hello World';
    });
    
  3. 再來再來,就是(我自己覺得)最重要,也令我納悶的
    我要怎麼在Laravel設定我要在 MyController 秀出來的東西呢

    • 當我想在 MyController 再來個Hello World的時候,
      How can I did it?

      Route::get('MyController', function () {
      return 'Hello World';
      });
      
    • 那當我在這個 MyController 想要顯示我某個特定view
      例如 resource/views/showme.blade.php 的時候呢

      Route::get('MyController', function () {
      return view('showme');
      });
      

這些當然只是基本,我只到皮毛程度而且這還只有GET
以上這些我已經打了第3次了...
怎麼不會自動儲存呢我的老天鵝/images/emoticon/emoticon02.gif
明天繼續明天繼續


可喜可賀,我今天才終於知道怎麼用這個了哈哈,
就想說奇怪,怎麼大家都會自己出現這個我就沒有
原來不是自己出現的/images/emoticon/emoticon06.gif


上一篇
Day09 【Laravel 學習歷程】- Artisan工匠指令
下一篇
Day11 【Laravel 學習歷程】- 路由Routes(2)
系列文
Laravel 學習歷程17

尚未有邦友留言

立即登入留言