Je viens récemment plongé dans POO & maintenant MVC et je utilise ce moteur de modèle: http://www.milesj.me/resources/script/template-engineQuestion concernant MVC: SubClass pour l'activité DB
Je suis curieux de savoir une question sur où mettre mes appels DB (j'utilise une classe d'encapsulation de base de données de base).
J'ai vu deux façons de faire.
classe panier
/**
* Counts items in cart
* @return int
*/
public static function count() {
require_once(DATABASE .'cartext.php');
$info = User::getInfo();
$count = CartExt::inCart($info['0']['userid']);
return $count;
}
Puis en classe CartExt
/**
* user cart count
* @param int
* @return int
*/
public static function inCart($shopperID) {
$db = Database::getInstance();
$query = $db->execute("SELECT * FROM Listing WHERE shopperid = '$shopperID'");
$count = 0;
while ($row = $db->fetchAll($query)) {
$count++;
}
return $count;
}
Avec de grandes fonctions, je peux voir l'avantage de séparer les deux, mais beaucoup de temps, il est aussi banal que l'exemple ci-dessus ou pire: la classe de base fait appel à Ext et renvoie sa valeur! En outre, je fais un require_once à partir de la fonction pour abaisser les requêtes http si quelqu'un le demande.
De toute façon, je veux juste quelques réflexions à ce sujet.
Aussi, ai-je raison de dire que je devrais gérer $ _POST ['data'] dans le contrôleur et le passer comme param à mes fonctions, par opposition à le manipuler dans la classe? (Je n'utilise pas encore d'objet/classe de formulaire si c'est important).
Dans l'attente d'entendre votre opinion à ce sujet.
Maintenant vous m'avez fait demander: "faire un require_once pour abaisser les requêtes http" ... Qu'est-ce que cela signifie? :) – deceze
Pour charger uniquement ce fichier lorsque cette fonction est appelée. – asdfasdfasdfasdf
n'a rien à voir avec les requêtes HTTP. Accès au disque, oui. :) – deceze