Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
| 1 | <?php |
||
| 18 | class MoviesController extends Controller |
||
| 19 | { |
||
| 20 | /** |
||
| 21 | * Page Index. |
||
| 22 | * |
||
| 23 | * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View |
||
| 24 | */ |
||
| 25 | public function index() |
||
| 26 | { |
||
| 27 | $movies = Movies::all(); |
||
| 28 | |||
| 29 | return view('Movies/index', [ |
||
| 30 | 'movies' => $movies, |
||
| 31 | ] |
||
| 32 | ); |
||
| 33 | } |
||
| 34 | |||
| 35 | /** |
||
| 36 | * Page create. |
||
| 37 | * |
||
| 38 | * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View |
||
| 39 | */ |
||
| 40 | public function create() |
||
| 41 | { |
||
| 42 | $categories = Categories::all(); |
||
| 43 | $actors = Actors::all(); |
||
| 44 | $directors = Directors::all(); |
||
| 45 | |||
| 46 | return view('Movies/create', |
||
| 47 | [ |
||
| 48 | 'categories' => $categories, |
||
| 49 | 'actors' => $actors, |
||
| 50 | 'directors' => $directors, |
||
| 51 | ]); |
||
| 52 | } |
||
| 53 | |||
| 54 | /** |
||
| 55 | * Page Read. |
||
| 56 | */ |
||
| 57 | public function read($id) |
||
| 61 | |||
| 62 | /** |
||
| 63 | * Page edit. |
||
| 64 | * |
||
| 65 | * @param $id |
||
| 66 | * |
||
| 67 | * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View |
||
| 68 | */ |
||
| 69 | public function edit($id) |
||
| 70 | { |
||
| 71 | $categories = Categories::all(); |
||
| 72 | $actors = Actors::all(); |
||
| 73 | $directors = Directors::all(); |
||
| 74 | |||
| 75 | $movie = Movies::find($id); |
||
| 76 | |||
| 77 | return view('Movies/edit', [ |
||
| 78 | 'movie' => $movie, |
||
| 79 | 'categories' => $categories, |
||
| 80 | 'actors' => $actors, |
||
| 81 | 'directors' => $directors, |
||
| 82 | ]); |
||
| 83 | } |
||
| 84 | |||
| 85 | /** |
||
| 86 | * Action qui va me permettre d'activer un film. |
||
| 87 | * |
||
| 88 | * @param $id |
||
| 89 | */ |
||
| 90 | View Code Duplication | public function activate($id) |
|
| 106 | |||
| 107 | /** |
||
| 108 | * Action qui va me permettre de metter en avant un film. |
||
| 109 | * |
||
| 110 | * @param $id |
||
| 111 | */ |
||
| 112 | View Code Duplication | public function cover($id) |
|
| 128 | |||
| 129 | /** |
||
| 130 | * Action of suppression. |
||
| 131 | * |
||
| 132 | * @param $id |
||
| 133 | * |
||
| 134 | * @return mixed |
||
| 135 | */ |
||
| 136 | public function delete($id) |
||
| 147 | |||
| 148 | /** |
||
| 149 | * Fonction de like des films, enregistré en session |
||
| 150 | * Session : mécanisme de stockage temporelle |
||
| 151 | * BDD: mécanisme de stockage atemporelle. |
||
| 152 | * |
||
| 153 | * @param Request $request |
||
| 154 | */ |
||
| 155 | public function like($id, $action) |
||
| 182 | |||
| 183 | /** |
||
| 184 | * Storing in database. |
||
| 185 | * |
||
| 186 | * @param MoviesRequest $request |
||
| 187 | * |
||
| 188 | * @return mixed |
||
| 189 | */ |
||
| 190 | public function store(MoviesRequest $request) |
||
| 244 | } |
||
| 245 |
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.