我工作的一個laravel站點,每一個頁面是由兩個部分可用的模型。我想一個辦法來抽象它會考慮多託管博客,格式{URL} .blog.com/{}類(我們可以假設的是,博客被進一步劃分爲類別,每個帖子必須屬於恰好一個類別)。Laravel - 我怎麼能有在每個控制器
目前,我有一個處理一個路由組{URL}和{類別}對我來說,這是很好的,這意味着我有我的路看起來像這樣:
Route::get('/p/{post}', '[email protected]');
Route::get('/a/{author}', '[email protected]');
我的問題是,雖然,在我的控制每個單獨的方法看起來是這樣的:
function viewPost(Request $request, $url, $category, $post)
function viewAuthor(Request $request, $url, $category, $author)
這意味着我需要的一切傳遞到我看來,像這樣:
return view('posts/viewSingle', [
'title' => $post->title,
'url' => $url,
'category' => $category,
'post' => $post
]);
我看到有很多重複的代碼在這裏,這將是巨大的,如果我能以某種方式來自我的每一個控制器方法去除網址和類別,仍然可以訪問它(我想我可以在我的應用程序中使用Auth)。
的問題是,這是我在使用PHP框架的第一次嘗試,我沒有真正離開的最佳實踐。根據我的閱讀,我認爲我需要兩個服務提供商,但我不知道如何設置它們。
我想我的問題還在於,複雜的,我需要按順序訪問Request對象,以確定哪些網址什麼類我需要從數據庫中獲取。
您可以創建一個通用的服務文件,然後從任何控制器 –