Optimisation

Par corentin philippe, il y a 9 ans


Bonjour,

Je cherche à encore optimiser mon code mais je n'arrive pas plus a l'option du style les messages je voudrais faire une fonction qui permet de get si le rank existe ou pas mais sa merde.....

Ce que je fais

<?php namespace App\Http\Controllers; use App\Rank; use Illuminate\Http\Request; use App\Http\Requests; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\URL; class RanksController extends Controller { /** * Includes all permissions */ private $perms = [ 'Permissions Globales' => [ [ 'perm' => 'app_manage_users', 'desc' => 'Peut gérer les utilisateurs', ],[ 'perm' => 'app_manage_ranks', 'desc' => 'Peut gérer les groupes d\'utilisateurs', ],[ 'perm' => 'app_admin', 'desc' => 'Peut gérer l\'administration du site', ], ], ]; /** * Register of ranks * @var array */ public static $list = array(); /** * __construct */ public function __construct(){ $this->middleware('authorized.access:canAppManageRanks'); } /** * Set a special permission of an request to 1 = Is checked or 0 = Not checked * * @param $request * @return array */ private function getPermission($request){ $perms = $this->perms; foreach ($perms as $perm => $perms) { foreach ($perms as $perm_content) { if ($request[$perm_content['perm']] == 'on') { $request[$perm_content['perm']] = 1; } else { $request[$perm_content['perm']] = 0; } } } } /** * List of ranks * @return array */ public static function ranksList(){ return Rank::lists('rank_name', 'id')->toArray(); } /** * Get a special rank * * Result stored in $list * @param $id * @return array of the rank */ public static function isRank($id){ return self::$list[$id] = Rank::where('id', $id)->get(); } /** * index of ranks * * @return view:admin.ranks.index */ public static function index(){ $ranks = Rank::get(); return view('admin.ranks.index', compact('ranks')); } /** * Destroy a special rank * * @param $id * @return Rank */ public function destroy($id){ $rank = RanksController::isRank($id); if (Controller::array_empty($rank)) { return redirect(URL::previous())->with('error', "Ce groupe n'existe pas"); } else { if ($rank && $rank[0]['id'] == 1) { return redirect(URL::previous())->with('error', "Vous ne pouvez pas éditer ce groupe d'utilisateur."); } else { Rank::where('id', $id)->delete(); return redirect(URL::previous())->with('success', "Le groupe a bien été supprimé.");; } } } /** * Edit a special rank * * @param $id * @return Rank */ public function edit($id){ $perms = $this->perms; $rank = RanksController::isRank($id); if (Controller::array_empty($rank)) { return redirect(URL::previous())->with('error', "Ce groupe n'existe pas"); } else { if ($rank && $rank[0]['id'] == 1) { return redirect(URL::previous())->with('error', "Vous ne pouvez pas éditer ce groupe d'utilisateur."); } else { return view('admin.ranks.edit', compact('rank', 'perms')); } } } /** * Update a special rank * * @param \Illuminate\Http\Request $request * @param $id * @return Rank */ public function update(Request $request, $id){ $this->validate($request, ['rank_name' => 'required|max:255']); $rank = RanksController::isRank($id); if (Controller::array_empty($rank)) { return redirect(URL::previous())->with('error', "Ce groupe n'existe pas"); } else { if ($rank && $rank[0]['id'] == 1) { return redirect(URL::previous())->with('error', "Vous ne pouvez pas éditer ce groupe d'utilisateur."); } else { RanksController::getPermission($request); Rank::where('id', $id)->update($request->except(['_token', 'public', '_method'])); return redirect(URL::previous())->with('success', "Le groupe a bien été édité."); } } } /** * Create a special rank * * @return Rank */ public function create(){ $perms = $this->perms; $rank = new Rank(); return view('admin.ranks.create', compact('rank', 'perms')); } /** * Store a special rank * * @param \Illuminate\Http\Request $request * @return Rank */ public function store(Request $request){ $this->validate($request, ['rank_name' => 'required|max:255']); RanksController::getPermission($request); $rank = Rank::create($request->except('_token')); return redirect(route('admin.ranks.edit', $rank))->with('success', "Le groupe a bien été créé."); } /* * APP */ public static function canAppManageUsers($id){ if (!isset(self::$list[$id])) { self::isRank($id); } return self::$list[$id][0]->app_manage_users; } public static function canAppManageRanks($id){ if (!isset(self::$list[$id])) { self::isRank($id); } return self::$list[$id][0]->app_manage_ranks; } public static function canAppAdmin($id){ if (!isset(self::$list[$id])) { self::isRank($id); } return self::$list[$id][0]->app_admin; } }

Ce que je veux

je voudrais optimiser mon code

Aucune réponse