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 |
||
| 6 | class DroitAcces { |
||
| 7 | private $logged; |
||
| 8 | |||
| 9 | //pour la table identite |
||
| 10 | private $id_identite; |
||
| 11 | private $super_admin; |
||
| 12 | |||
| 13 | //pour la table liste_droit_acces |
||
| 14 | private $id_liste_droit_acces; |
||
| 15 | |||
| 16 | //pour des droits pour la gestion des contenus |
||
| 17 | private $modif_seo; |
||
| 18 | private $modif_contenu; |
||
| 19 | private $modif_navigation; |
||
| 20 | private $supprimer_page; |
||
| 21 | |||
| 22 | |||
| 23 | //-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------// |
||
| 24 | View Code Duplication | public function __construct() { |
|
| 39 | //-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------// |
||
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | //-------------------------- GETTER ----------------------------------------------------------------------------// |
||
| 44 | public function getLogged(){ |
||
| 65 | |||
| 66 | /** |
||
| 67 | * @return array |
||
| 68 | */ |
||
| 69 | private function getListeDroitAcces() { |
||
| 86 | |||
| 87 | /** |
||
| 88 | * @return array |
||
| 89 | */ |
||
| 90 | private function getListeDroitPage($page) { |
||
| 101 | |||
| 102 | /** |
||
| 103 | * @param $id_page |
||
| 104 | */ |
||
| 105 | private function getListeDroitModificationContenu($id_page) { |
||
| 132 | |||
| 133 | //autres getter |
||
| 134 | /** |
||
| 135 | * pour savoir si en fonction des droits d'accès de l'utilisateur il peu ou non accéder à cete page |
||
| 136 | * on passe outre les test si on est super admin |
||
| 137 | * @param string $page |
||
| 138 | * @return bool |
||
| 139 | */ |
||
| 140 | public function getDroitAccesPage($page) { |
||
| 151 | |||
| 152 | /** |
||
| 153 | * fonction qui permet de gérer les droits d'accès sur les contenus : |
||
| 154 | * - creer une page |
||
| 155 | * - modifier du contenu (SEO, navigation, contenu) |
||
| 156 | * - supprimer une page |
||
| 157 | * si on est super admin on passe outre tous les tests |
||
| 158 | * @param $droit |
||
| 159 | * @param $id_page |
||
| 160 | * @return bool|null |
||
| 161 | */ |
||
| 162 | public function getDroitAccesContenu($droit, $id_page) { |
||
| 177 | |||
| 178 | /** |
||
| 179 | * pour savoir si un utilisateur à le droit de supprimer, modifier ou ajouter des trucs |
||
| 180 | * @param $droit_acces |
||
| 181 | * @return bool |
||
| 182 | */ |
||
| 183 | public function getDroitAccesAction($droit_acces) { |
||
| 193 | //-------------------------- FIN GETTER ----------------------------------------------------------------------------// |
||
| 194 | |||
| 195 | |||
| 196 | |||
| 197 | //-------------------------- SETTER ----------------------------------------------------------------------------// |
||
| 198 | |||
| 199 | //-------------------------- FIN SETTER ----------------------------------------------------------------------------// |
||
| 200 | } |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.