begin process at 2012 02 15 05:21:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > GESTION DE CADDIE

GESTION DE CADDIE


 Information sur la source

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Class et Objet ( POO ) Niveau :Débutant Date de création :23/04/2004 Vu :9 352

Auteur : sheura

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Une petite classe qui permet de gérer un caddie.

Source

  • <?php
  • class Caddie
  • {
  • var $produits; //Tableau des produits du caddie
  • var $nbproduits; //Nombre de produits dans le caddie
  • var $date; //Date de la création du caddie
  • var $idclient; //Identifiant du client à qui appartient le caddie
  • //var $montant; //Montant total du caddie
  • //Constructeur initialise le tableau de produits et le montant total du caddie
  • function Caddie()
  • {
  • $this->produits = array();
  • $this->nbproduits = 0;
  • $this->date = date("d/m/Y");
  • $this->idclient = "";
  • //$this->montant = 0;
  • }
  • //Renvoie la reference du produit $i
  • function getRefProduits($i)
  • {
  • return ($this->produits[$i]['id']);
  • }
  • //Renvoie la quantite du produit $i
  • function getQteProduits($i)
  • {
  • return ($this->produits[$i]['qte']);
  • }
  • //Renvoie le nombre de produits contenus dans le caddie
  • function nombreDeProduits()
  • {
  • return $this->nbproduits;
  • }
  • //Renvoi la date de la création du caddie
  • function getDateCaddie()
  • {
  • return $this->date;
  • }
  • //Définie l'identifiant du client à qui appartient le caddie
  • function setIdClientCaddie($id)
  • {
  • $this->idclient = $id;
  • }
  • //Renvoi l'identifiant du client à qui appartient le caddie
  • function getIdClientCaddie()
  • {
  • return $this->idclient;
  • }
  • //Ajoute un produit dans le caddie
  • function ajouter($refproduit,$quantite)
  • {
  • if (!empty($refproduit))
  • {
  • $this->produits[] = array("id"=>$refproduit,"qte"=>$quantite);
  • $this->nbproduits++;
  • }
  • }
  • //Supprime un produit du caddie
  • function supprimer($refproduit)
  • {
  • if (!empty($refproduit))
  • {
  • for($i=0; $i<$this->nbproduits; $i++)
  • {
  • if ($this->produits[$i]['id'] == $refproduit)
  • {
  • array_splice($this->produits, $i, 1);
  • $this->nbproduits--;
  • break;
  • }
  • }
  • }
  • }
  • //Met à jour la quantite d'un produit sélectionné dans le caddie
  • function miseAJour($refproduit,$quantite)
  • {
  • if (!empty($refproduit))
  • {
  • for($i=0; $i<$this->nbproduits; $i++)
  • {
  • if ($this->produits[$i]['id'] == $refproduit)
  • {
  • $this->produits[$i]['qte'] = $quantite;
  • break;
  • }
  • }
  • }
  • }
  • }
  • ?>
<?php

class Caddie
{
	var $produits;	  //Tableau des produits du caddie
	var $nbproduits;  //Nombre de produits dans le caddie
	var $date;        //Date de la création du caddie
	var $idclient;    //Identifiant du client à qui appartient le caddie
	//var $montant;		    //Montant total du caddie

	//Constructeur initialise le tableau de produits et le montant total du caddie
  function Caddie()
  {
		$this->produits = array();
		$this->nbproduits = 0;
		$this->date = date("d/m/Y");
		$this->idclient = "";
		//$this->montant = 0;
	}

  //Renvoie la reference du produit $i
	function getRefProduits($i)
  {
    return ($this->produits[$i]['id']);
	}

  //Renvoie la quantite du produit $i
	function getQteProduits($i)
  {
    return ($this->produits[$i]['qte']);
	}
	
  //Renvoie le nombre de produits contenus dans le caddie
  function nombreDeProduits()
  {
    return $this->nbproduits;
  }

  //Renvoi la date de la création du caddie
  function getDateCaddie()
  {
    return $this->date;
  }

  //Définie l'identifiant du client à qui appartient le caddie
  function setIdClientCaddie($id)
  {
    $this->idclient = $id;
  }

  //Renvoi l'identifiant du client à qui appartient le caddie
  function getIdClientCaddie()
  {
    return $this->idclient;
  }
  
  //Ajoute un produit dans le caddie
	function ajouter($refproduit,$quantite)
  {
		if (!empty($refproduit))
    {
			$this->produits[] = array("id"=>$refproduit,"qte"=>$quantite);
			$this->nbproduits++;
		}
	}

	//Supprime un produit du caddie
  function supprimer($refproduit)
  {
		if (!empty($refproduit))
    {
			for($i=0; $i<$this->nbproduits; $i++)
			{
        if ($this->produits[$i]['id'] == $refproduit)
        {
          array_splice($this->produits, $i, 1);
          $this->nbproduits--;
			    break;
        }
		  }
		}
	}

  //Met à jour la quantite d'un produit sélectionné dans le caddie
  function miseAJour($refproduit,$quantite)
  {
		if (!empty($refproduit))	
    {
			for($i=0; $i<$this->nbproduits; $i++)
			{
        if ($this->produits[$i]['id'] == $refproduit)
        {
          $this->produits[$i]['qte'] = $quantite;
			    break;
        }
		  }
    }
  }
}
  
?>

 Conclusion

Je suis débutant alors cette classe reste à améliorer.
Je l'ai réalisée avec quelques brides de codes que j'ai pris un peu partout


 Sources de la même categorie

CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter
Source avec Zip SIMPLETEMPLATE par thunderhunter
Source avec Zip Source avec une capture VOIR QUI VISITE VOTRE SITE par Dariumis
Source avec Zip CLASS SIMPLE CBASEDONNEE par smag42

Commentaires et avis

Commentaire de vede31 le 18/04/2006 00:05:11

Hello,
je trouve ta classe trés sympa, mais je débute moi aussi
en poo, peux tu m'en dire plus sur l'utilisation de la classe,


$c = new Caddie();
$c::setIdClientCaddie('id321654tr43r0t13e');

????
excuse mmoi mais je suis un peu perdu,
si tu avais un exemple d'utilisation ...
je rame vraiment avec la poo, mais veux m'y mettre,
merci d'avance pour votre aide,
vede
;O]

Commentaire de Helldream le 24/02/2007 19:08:46

Je viens de survoler ton code (je pensais justement créer une classe similaire pour moi), et je dois dire que ton code me semble très propre, compréhensible, et efficace. Je débute aussi en POO, mais je ne pense pas que j'aurais fait mieux en le faisant moi-même.

La seule chose qu'il manque (c'est pour ça que je te mets 8 et pas 10), c'est un exemple d'application montrant en particulier comment passer ton panier d'une page à une autre (car je pense que c'est obligatoire pour ce genre de code). En effet, sans ça, quelqu'un qui ne s'y connait pas ne peux pas utiliser ton script (il n'a pas d'intérêt si ton objet est détruit à la fin de chaque appel de page).

Les solutions (que tu connais probablement) serait d'utiliser serialize, ou peut être de passer par une BDD pour sauvegarder le contenu de ton panier, ou par une variable de session... Il faudrait voir le mieux adapté, surtout en cas de grosse commande (par exemple 100 articles).

J'espère que tu nous fera ça prochainement, car une fois fait, de mon point de vue ton code sera nickel, et vraiment utile ;)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales