feat(controllers): optimize caching and view data passing

- Refactored the ChampionController, ChampionSkinController, HomeController, SaleController, SummonerEmoteController, and SummonerIconController to use arrow functions for cache callbacks.
- Updated the view data passing in the ChampionController, ChampionSkinController, HomeController, PostsController, SaleController, SummonerEmoteController, and SummonerIconController to use associative arrays instead of compact().
- Removed unused imports from web.php.
This commit is contained in:
Rico van Zelst
2024-01-06 00:15:19 +01:00
parent 3717d3836e
commit 85e3c4ff2e
8 changed files with 43 additions and 87 deletions

View File

@@ -17,15 +17,11 @@ class ChampionController extends Controller
{
$eightHoursInSeconds = 60 * 60 * 8;
$champions = Cache::remember('championsListAllCache', $eightHoursInSeconds, function () {
return Champion::orderBy('name')->get();
});
$champions = Cache::remember('championsListAllCache', $eightHoursInSeconds, static fn() => Champion::orderBy('name')->get());
$roles = Cache::remember('championsRolesCache', $eightHoursInSeconds, function () {
return ChampionRoles::orderBy('champion_name')->get();
});
$roles = Cache::remember('championsRolesCache', $eightHoursInSeconds, static fn() => ChampionRoles::orderBy('champion_name')->get());
return view('champions.index', compact('champions', 'roles'));
return view('champions.index', ['champions' => $champions, 'roles' => $roles]);
}
/**
@@ -52,21 +48,17 @@ class ChampionController extends Controller
$eightHoursInSeconds = 60 * 60 * 8;
$dayInSeconds = 60 * 60 * 24;
$champion = Cache::remember('championShowCache' . $champion->slug, $eightHoursInSeconds, function () use ($champion) {
return $champion->load('skins', 'lanes');
});
$champion = Cache::remember('championShowCache' . $champion->slug, $eightHoursInSeconds, static fn() => $champion->load('skins', 'lanes'));
$splashColor = Cache::remember(
'championSplashColorCache' . $champion->slug,
$dayInSeconds,
function () use ($champion) {
return getAverageColorFromImageUrl($champion->getChampionImageAttribute());
}
static fn() => getAverageColorFromImageUrl($champion->getChampionImageAttribute())
);
$champion->splash_color = $splashColor;
return view('champions.show', compact('champion'));
return view('champions.show', ['champion' => $champion]);
}
/**