Skip to content

Commit 60a15ed

Browse files
committed
Use dedicated controllers for route closures
This way we can use route caching.
1 parent ebf14bb commit 60a15ed

File tree

3 files changed

+71
-47
lines changed

3 files changed

+71
-47
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace Lio\Http\Controllers\Admin;
3+
4+
use Lio\Http\Controllers\Controller;
5+
6+
class OverviewController extends Controller
7+
{
8+
/**
9+
* @return \Illuminate\Http\RedirectResponse
10+
*/
11+
public function overview()
12+
{
13+
return redirect()->route('admin.users');
14+
}
15+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
namespace Lio\Http\Controllers;
3+
4+
class HomeController extends Controller
5+
{
6+
/**
7+
* @return \Illuminate\Http\RedirectResponse
8+
*/
9+
public function index()
10+
{
11+
return redirect()->action('Forum\ForumThreadsController@getIndex');
12+
}
13+
14+
/**
15+
* @return \Illuminate\Http\RedirectResponse
16+
*/
17+
public function rss()
18+
{
19+
return redirect()->home();
20+
}
21+
22+
/**
23+
* @return \Illuminate\Http\RedirectResponse
24+
*/
25+
public function redirectToMainWebsite()
26+
{
27+
return redirect('http://laravel.io/');
28+
}
29+
}

app/Http/routes.php

Lines changed: 27 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,18 @@
11
<?php
22

3+
// Home
34
Route::group(['domain' => 'wiki.laravel.io'], function() {
4-
Route::get('{wildcard}', function($wildcard) {
5-
return Redirect::to('http://laravel.io/');
6-
});
5+
Route::get('{wildcard}', 'HomeController@redirectToMainWebsite');
76
});
87
Route::group(['domain' => 'forum.laravel.io'], function() {
9-
Route::get('{wildcard}', function($wildcard) {
10-
return Redirect::to('http://laravel.io/');
11-
});
8+
Route::get('{wildcard}', 'HomeController@redirectToMainWebsite');
129
});
1310
Route::group(['domain' => 'forums.laravel.io'], function() {
14-
Route::get('{wildcard}', function($wildcard) {
15-
return Redirect::to('http://laravel.io/');
16-
});
11+
Route::get('{wildcard}', 'HomeController@redirectToMainWebsite');
1712
});
1813

19-
Route::get('/', ['as' => 'home', 'uses' => function () {
20-
return redirect()->action('Forum\ForumThreadsController@getIndex');
21-
}]);
22-
Route::get('rss', function () {
23-
return redirect()->home();
24-
});
14+
Route::get('/', ['as' => 'home', 'uses' => 'HomeController@index']);
15+
Route::get('rss', 'HomeController@rss');
2516

2617
// Auth
2718
Route::group(['namespace' => 'Auth'], function () {
@@ -33,31 +24,22 @@
3324

3425
Route::get('confirm-email/{confirmation_code}', ['as' => 'auth.confirm', 'uses' => 'AuthController@confirmEmail']);
3526
Route::get('resend-email-confirmation', ['as' => 'auth.reconfirm', 'uses' => 'AuthController@resendEmailConfirmation']);
36-
37-
// Keep to maintain backwards compatibility with sent emails.
38-
Route::get('signup/confirm-email/{confirmation_code}', function ($code) {
39-
return redirect()->route('auth.confirm', $code);
40-
});
4127
});
4228

43-
// user profile
44-
Route::get('user/{userSlug}', ['as' => 'user', 'uses' => 'UsersController@getProfile']);
45-
Route::get('user/{userSlug}/threads', 'UsersController@getThreads');
46-
Route::get('user/{userSlug}/replies', 'UsersController@getReplies');
29+
// Users
30+
Route::get('user/{username}', ['as' => 'user', 'uses' => 'UsersController@getProfile']);
31+
Route::get('user/{username}/threads', 'UsersController@getThreads');
32+
Route::get('user/{username}/replies', 'UsersController@getReplies');
4733

4834
Route::group(['middleware' => 'auth'], function () {
49-
Route::get('user/{userSlug}/settings', ['as' => 'user.settings', 'uses' => 'UsersController@getSettings']);
50-
Route::put('user/{userSlug}/settings', ['as' => 'user.settings.update', 'uses' => 'UsersController@putSettings']);
35+
Route::get('user/{username}/settings', ['as' => 'user.settings', 'uses' => 'UsersController@getSettings']);
36+
Route::put('user/{username}/settings', ['as' => 'user.settings.update', 'uses' => 'UsersController@putSettings']);
5137
});
5238

53-
// chat
39+
// Chat
5440
Route::get('chat', 'ChatController@getIndex');
55-
// chat legacy
56-
Route::get('irc', function() {
57-
return Redirect::action('ChatController@getIndex');
58-
});
5941

60-
// paste bin
42+
// Paste Bin
6143
Route::get('bin', 'PastesController@getCreate');
6244
Route::get('bin/fork/{hash}', 'PastesController@getFork');
6345
Route::get('bin/{hash}/raw', 'PastesController@getRaw');
@@ -68,24 +50,24 @@
6850
Route::post('bin/fork/{hash}', 'PastesController@postFork');
6951
});
7052

71-
// forum
53+
// Forum
7254
Route::group(['namespace' => 'Forum'], function() {
7355
Route::group(['middleware' => ['auth', 'confirmed']], function() {
7456
Route::get('forum/create-thread', 'ForumThreadsController@getCreateThread');
7557
Route::post('forum/create-thread', 'ForumThreadsController@postCreateThread');
7658

77-
Route::get('forum/mark-as-solved/{threadId}/{replyId}', 'ForumThreadsController@getMarkQuestionSolved');
78-
Route::get('forum/mark-as-unsolved/{threadId}', 'ForumThreadsController@getMarkQuestionUnsolved');
59+
Route::get('forum/mark-as-solved/{thread}/{reply}', 'ForumThreadsController@getMarkQuestionSolved');
60+
Route::get('forum/mark-as-unsolved/{thread}', 'ForumThreadsController@getMarkQuestionUnsolved');
7961

80-
Route::get('forum/edit-thread/{threadId}', 'ForumThreadsController@getEditThread');
81-
Route::post('forum/edit-thread/{threadId}', 'ForumThreadsController@postEditThread');
82-
Route::get('forum/edit-reply/{replyId}', 'ForumRepliesController@getEditReply');
83-
Route::post('forum/edit-reply/{replyId}', 'ForumRepliesController@postEditReply');
62+
Route::get('forum/edit-thread/{thread}', 'ForumThreadsController@getEditThread');
63+
Route::post('forum/edit-thread/{thread}', 'ForumThreadsController@postEditThread');
64+
Route::get('forum/edit-reply/{reply}', 'ForumRepliesController@getEditReply');
65+
Route::post('forum/edit-reply/{reply}', 'ForumRepliesController@postEditReply');
8466

85-
Route::get('forum/delete/reply/{replyId}', 'ForumRepliesController@getDelete');
86-
Route::post('forum/delete/reply/{replyId}', 'ForumRepliesController@postDelete');
87-
Route::get('forum/delete/thread/{threadId}', 'ForumThreadsController@getDelete');
88-
Route::post('forum/delete/thread/{threadId}', 'ForumThreadsController@postDelete');
67+
Route::get('forum/delete/reply/{reply}', 'ForumRepliesController@getDelete');
68+
Route::post('forum/delete/reply/{reply}', 'ForumRepliesController@postDelete');
69+
Route::get('forum/delete/thread/{thread}', 'ForumThreadsController@getDelete');
70+
Route::post('forum/delete/thread/{thread}', 'ForumThreadsController@postDelete');
8971

9072
Route::post('forum/{slug}', 'ForumRepliesController@postCreateReply');
9173
});
@@ -98,11 +80,9 @@
9880
Route::get('forum/{slug}', 'ForumThreadsController@getShowThread');
9981
});
10082

101-
// admin
83+
// Admin
10284
Route::group(['middleware' => ['auth', 'confirmed'], 'before' => 'has_role:manage_users', 'prefix' => 'admin', 'namespace' => 'Admin'], function() {
103-
Route::get('/', function() {
104-
return redirect()->route('admin.users');
105-
});
85+
Route::get('/', 'OverviewController@overview');
10686

10787
Route::get('users', ['as' => 'admin.users', 'uses' => 'UsersController@getIndex']);
10888
Route::get('users/search', ['as' => 'admin.users.search', 'uses' => 'UsersController@search']);

0 commit comments

Comments
 (0)