iT邦幫忙

2

Laravel 情境寫法推薦?

  • 分享至 

  • twitterImage

最近在寫 Laravel,遇到了某些情境上的問題,想問問各位推薦的寫法是什麼~還請指教。
(看了官方文件和做法)

  1. 我現在 router 的做法是直接去控制器找 method,在 method 去決定顯示哪個 view,或是把資料丟給 view。(看似官方希望的方式?)
    只是現在有個問題,假設只是普通的註冊、登入頁 /signin, /signup ,是不是只要在 router return view 就可以了,還是都推薦往控制器推?
    我會有這個疑問是因為我想要判斷「當已經註冊且登入時」,進去 signin 或 signup 會自動 redirect 到 /,這個判斷是不是丟到控制器給他一個 method 去做,然後再決定 redirect 到哪裡?因為他預設的 web.php 並沒有引入 use Illuminate\Http\Request; 所以我想說是不是不應該在router做判斷。

  2. 我發現控制器好像可以很肥

public function profile(Request $request) {
        $response = Controller::httpRequestGet('http://api.localhost/user/' . $request->session()->get('id'));
        
        if ($response['code'] === 400)
            return view('profile', ['message' => $response['message']]);

        return view('profile', ['response' => $response]);
    }

    public function preview(Request $request, $id) {
        $response = Controller::httpRequestGet('http://api.localhost/user/' . $id);
        
        if ($response['code'] === 400)
            return view('preview', ['message' => $response['message']]);

        return view('preview', ['response' => $response]);
    }

這是我某兩個 method,用 curl 打 http://api.localhost/ 去取得 json
有更好的寫法嗎?還是說這樣寫是可以的?
如果有錯誤(帳號密碼不對等等)就會回 400 ,我就會 reuturn view() 外加上對方給錯誤 $message 到那個 view 裡面去顯示

  1. 我需要 curl 做 httprequest 所以我在他預設的 controller.php 寫了個 httpRequest method ,這樣的寫法是OK的嗎?還是說有更推薦的做法?

  2. 假設我想加入一個腳本專門放小 function 的,放在哪裡可以全局引入使用?以及放在哪個資料夾比較適合?太多資料夾我實在是不知道放這個小 function 才對,或是專門放宣告常數的?(會是放在 index.php 嗎?)

PS http://api.localhost/ 是我自己另一邊用 slim 框架寫的,(那邊才有 model)

我想避免騷操作,且剛入門,傷眼抱歉,感謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1

那個,說真的。
你只能跟你說一件事。你的確是在寫php。但不是在用Laravel。

登入,去研究一下它的auth一下。

至於其它,你先研究好再說好了。實在很難一言兩語告訴你。

1
小魚
iT邦大師 1 級 ‧ 2019-12-21 09:12:27

 

雷伊 iT邦高手 1 級 ‧ 2019-12-23 09:37:58 檢舉

這是無言以對?

小魚 iT邦大師 1 級 ‧ 2019-12-23 11:12:41 檢舉

原本是要刪掉的,
但是IT邦刪不掉.

我要發表回答

立即登入回答