Refactoring PHP - Lez. 3: méthodes d'une classe
En ce qui concerne les méthodes d'une classe, s'applique également dans ce cas, la convention de nommage précédemment exposée aux propriétés de la classe elle-même. Nous les répéter ci-dessous pour plus de commodité:
- Si se compose d'un seul mot, tout en minuscules, par exemple, la monnaie ();
- Si elle est faite de beaucoup de mots de la première lettre de chacun, à partir de la seconde, en majuscules, en minuscules tous les autres, par exemple, addElement ();
- Le nom de la méthode devrait être compréhensible en soi.
En plus de ces règles nous avons également considérer les points suivants:
- Si le nom de la méthode est composée de plusieurs actions scinder en de nombreuses façons qu'il ya de mesures;
- La longueur du corps du procédé ne doit pas dépasser 40 lignes;
- Le nombre de paramètres ne doit pas dépasser un maximum de 4;
Nom de la méthode se compose de plusieurs actions
Mettez le cas que dans l'écriture du code d'une classe d'une méthode avec la signature suivante:
fonction publique controllaImmagazzina ($ produit)
Le code de la méthode est la suivante:
Entrepôt de classe { fonction publique controllaImmagazzina ($ produit) { if ($ produit == null) { return "ensemble des produits»; } Else if (substr ($ produit-> getCodice (), 0, 3) == "CAT") { return "fait avec vieux catalogue"; } Else if ($ produit-> getIngombro ()> 10) { return "produit trop lourd"; } $ Db = new Db ("mysql"); $ Db-> update ($ produit); } ............................................. } |
Comme vous pouvez le voir, nous avons introduit une méthode unique qui pourrait revenir actions utiles individuellement, ce qui explique pourquoi nous devons diviser chaque action dans une nouvelle méthode et si nous avons vraiment besoin de les utiliser ensemble, nous créons une méthode supplémentaire qui appelle dans l'ordre.
En suivant les instructions viennent d'être données, le code ci-dessus doit apparaître comme suit:
Entrepôt de classe { ................................................ chèque fonction publique ($ produit) { if ($ produit == null) { return "ensemble des produits»; } Else if (substr ($ produit-> getCodice (), 0, 3) == "CAT") { return "fait avec vieux catalogue"; } Else if ($ produit-> getIngombro ()> 10) { return "produit trop lourd"; } return ""; } magasin de fonction publique ($ produit) { $ Db = new Db ("mysql"); $ Db-> update ($ produit); } publique prendeInCarico ($ produit) { $ Msg = $ this-> check ($ produit); if ($ msg! == "") { echo $ msg; Else {} $ This-> magasin ($ produit); echo "La prise en charge réussie"; } } } $ ObjProdotto = new Produit (); $ Obj = new Entrepôt Entrepôt (); $ Msg Entrepôt = $ obj -> prendeInCarico ($ objProdotto) echo $ msg; |
Réécrire le code que nous avons rendu plus lisible et réutilisable, dans le cas, nous voulons contrôler un seul produit dans un autre procédé, ou seulement de stocker un produit qui ne nécessite pas de contrôle.
Nous analysons maintenant les autres exigences.











Действительно классная темка.
спасибо Вам за комментарий
Nicola