最近在寫 Laravel,遇到了某些情境上的問題,想問問各位推薦的寫法是什麼~還請指教。
(看了官方文件和做法)
我現在 router 的做法是直接去控制器找 method,在 method 去決定顯示哪個 view,或是把資料丟給 view。(看似官方希望的方式?)
只是現在有個問題,假設只是普通的註冊、登入頁 /signin
, /signup
,是不是只要在 router return view 就可以了,還是都推薦往控制器推?
我會有這個疑問是因為我想要判斷「當已經註冊且登入時」,進去 signin 或 signup 會自動 redirect 到 /
,這個判斷是不是丟到控制器給他一個 method 去做,然後再決定 redirect 到哪裡?因為他預設的 web.php 並沒有引入 use Illuminate\Http\Request;
所以我想說是不是不應該在router做判斷。
我發現控制器好像可以很肥
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 裡面去顯示
我需要 curl 做 httprequest 所以我在他預設的 controller.php 寫了個 httpRequest method ,這樣的寫法是OK的嗎?還是說有更推薦的做法?
假設我想加入一個腳本專門放小 function 的,放在哪裡可以全局引入使用?以及放在哪個資料夾比較適合?太多資料夾我實在是不知道放這個小 function 才對,或是專門放宣告常數的?(會是放在 index.php 嗎?)
PS http://api.localhost/ 是我自己另一邊用 slim 框架寫的,(那邊才有 model)
我想避免騷操作,且剛入門,傷眼抱歉,感謝
那個,說真的。
你只能跟你說一件事。你的確是在寫php。但不是在用Laravel。
登入,去研究一下它的auth一下。
至於其它,你先研究好再說好了。實在很難一言兩語告訴你。