D'accord, je travaille sur la création d'un cours membre pour mon site web. Je veux le faire aussi optimisé que possible. Actuellement, le constructeur peut prendre ($ resource) soit un int (pour récupérer des informations d'un membre de la base, basé sur id) ou un tableau de ints (pour récupérer plusieurs membres de la base de données et les stocker dans une variable membre)). Je voudrais savoir s'il y a des améliorations que je peux faire avec mon bloc de code ci-dessous, avant que je passe à la création de plus de parties de mon site Web. Qu'est-ce qui pourrait être changé pour le rendre meilleur? Y a-t-il une meilleure disposition que je devrais suivre pour faire ce genre de chose?Amélioration d'un constructeur
public function __construct($resource) {
global $database;
if (is_string($resource) || is_int($resource)) {
$resource = (int)$resource;
$query = $database->query("SELECT * FROM members WHERE member_id = {$resource} LIMIT 1");
$row = $database->get_row($query);
foreach ($row as $key => $value) {
$this->field[$key] = $value;
}
} else if (is_array($resource)) {
$query = $database->query("SELECT * FROM members WHERE member_id IN(" . implode(",",$resource) . ")");
while ($member = $database->get_row($query)) {
$this->member_list[$member['member_id']] = $member;
}
}
}
Vous pouvez commencer par indentation correcte pour un, cela est difficile à suivre ... – deceze
Je ne supporte pas le code mal formaté. Procurez-vous du [style d'accolade approprié] (http://en.wikipedia.org/wiki/Indent_style#Allman_style_.28bsd_in_Emacs.29). –
commentaires @format, l'éditeur SO n'aide pas. –