Bonjour à tous!
J'ai voulu modifier le tri par défaut de la liste des membres.
Je suis donc allé voir dans main/forum/forum_userlist.php et, je vois dès la ligne 25 :
Et là je me dis "Super! Tout est initialisé dès le début du fichier!". Je remplace donc ces trois lignes par quelque chose qui me convient, du type :
Je sauvegarde mon fichier, je clique sur Membres et...rien n'a changé... Bizarre! Je lance donc une recherche sur un $this->order dans mon fichier et je tombe là-dessus :
Ah ben oui, évidement, on remplace le tout par ce qui est passé dans l'URL. Et si rien n'est dans l'URL alors??? Je continue donc ma recherche ce qui m'amène à :
Et voici les valeurs à changer!
Ma question est la suivante : pourquoi initialiser des variables à une certaine valeur si c'est pour l'écraser aussitôt après puis, peut-être lui remettre cette valeur?
Même si ça va vite à trouver, un novice n'a pas forcément l'envie de se plonger dans le code pour aller modifier ces valeurs alors qu'il croit avoir trouvé la solution en début de fichier. Ne serait-il pas préférable d'ajouter une variable pour mémoriser la valeur par défaut?
Par exemple :
Qu'en pensez-vous?
Merci de votre attention!
J'ai voulu modifier le tri par défaut de la liste des membres.
Je suis donc allé voir dans main/forum/forum_userlist.php et, je vois dès la ligne 25 :
PHP (Sélectionner le code)
public $order = 'u_total_post'; public $direction = 'DESC'; public $limit = 30;
Et là je me dis "Super! Tout est initialisé dès le début du fichier!". Je remplace donc ces trois lignes par quelque chose qui me convient, du type :
PHP (Sélectionner le code)
public $order = 'u_last_visit'; public $direction = 'DESC'; public $limit = 50;
Je sauvegarde mon fichier, je clique sur Membres et...rien n'a changé... Bizarre! Je lance donc une recherche sur un $this->order dans mon fichier et je tombe là-dessus :
PHP (Sélectionner le code)
$this->order = Http::request('order', 'post|get'); ... $this->direction = strtoupper(Http::request('direction', 'post|get')); ... $this->limit = intval(Http::request('limit', 'post|get'));
Ah ben oui, évidement, on remplace le tout par ce qui est passé dans l'URL. Et si rien n'est dans l'URL alors??? Je continue donc ma recherche ce qui m'amène à :
PHP (Sélectionner le code)
if (!$this->order || !in_array($this->order, $this->order_array)) { $this->order = 'u_total_post'; } if ($this->direction != 'ASC' && $this->direction != 'DESC') { $this->direction = 'DESC'; } if (!$this->limit || $this->limit <= 0) { $this->limit = 30; }
Et voici les valeurs à changer!
Ma question est la suivante : pourquoi initialiser des variables à une certaine valeur si c'est pour l'écraser aussitôt après puis, peut-être lui remettre cette valeur?
Même si ça va vite à trouver, un novice n'a pas forcément l'envie de se plonger dans le code pour aller modifier ces valeurs alors qu'il croit avoir trouvé la solution en début de fichier. Ne serait-il pas préférable d'ajouter une variable pour mémoriser la valeur par défaut?
Par exemple :
PHP (Sélectionner le code)
class Fsb_frame_child extends Fsb_frame { [...] public $default_order = 'u_total_post'; public $default_direction = 'DESC'; public $default_limit = 30; [...] public function main() { [...] $this->order = Http::request('order', 'post|get'); ... $this->direction = strtoupper(Http::request('direction', 'post|get')); ... $this->limit = intval(Http::request('limit', 'post|get')); [...] if (!$this->order || !in_array($this->order, $this->order_array)) { $this->order = $this->default_order; } if ($this->direction != 'ASC' && $this->direction != 'DESC') { $this->direction = $this->default_direction; } if (!$this->limit || $this->limit <= 0) { $this->limit = $this->default_limit; }
Qu'en pensez-vous?
Merci de votre attention!
NumberEight





