all HTML

Accèdez à votre compte : 

Créer un compte …

Perte de mot de passe …

  • Accueil
  • Forum de discussions
  • Publications
  • Communauté

Dernières publications E-Commerce, PHP

  • Réalisation d'une classe panier / caddie
  • Encodage UTF-8
  • Créer des tableaux avec N cellules par ligne (modulo)
  • Cases à cocher : Trier les destinataires et envoi d'une newsletter en fonction de leur statut
  • Comparaison de dates
  • Conférence PHP Québec 2008: appel aux conférenciers
  • Playlist pour le dewplayer en php avec surcouche javascript
  • Upload et redimentionnement d'image
  • Sélection d'une liste membres à partir d'une base de données
  • Un print_r mieux formatté

Dernières publications

  • Web Audit vous aide à faire l'audit de votre site
  • Premier freeware pour cybercafés
  • Nouvel annuaire de référencement
  • Webnet devient partenaire Gold Microsoft
  • Encodage UTF-8
  • Altavista et échanges de liens
  • Plopibox et Gène Internet
  • Créer des tableaux avec N cellules par ligne (modulo)
  • Cases à cocher : Trier les destinataires et envoi d'une newsletter en fonction de leur statut
  • Comparaison de dates

Réalisation d'une classe panier / caddie

Ce tutorial permet de comprendre la démarche pour la réalisation de la classe panier / caddie. Par la suite, cette classe a pour but d'etre utilisée avec les sessions.

Article classé dans E-Commerce PHP

LiteBasket



Vous voulez créer un site d?e-commerce avec un panier / caddie dynamique ! Ou tout simplement stocker des informations dans un tableau de façon ordonné !
Ce tutorial à pour but de vous expliquer la démarche et ainsi d?aboutir au code final.
Le code réaliser et orienté objet PHP4.

Pourquoi objet ?



Le choix de faire une programmation objet est assez logique car un panier peut vraiment être considérer comme un objet du quotidien, et il n?y a pas de gymnastique de l?esprit à faire.

Terminologie ?



Dans une programmation il est important de garder une même logique dans les noms des méthodes (fonctions) et sur les variables. Par la suite nous prendrons l?anglais comme langue.
Le panier va donc être basket, et l?article article.

Comment va être définit notre panier et les articles dedans ?



En effet il faut faire le cahier des charges des différentes fonctionnalités que notre panier devra faire ! C?est très important de réfléchir par avance à ce que doit faire notre classe.

Dans un premier temps il faut définir la structure de notre panier. Notre panier va donc être un simple tableau indexé, c'est-à-dire :

basket => Array
(
[0] => ?article?

[1] => ?article?

?
)


Ensuite on définit la structure d?un article. Un article va donc être, également, un tableau ou les index seront des propriétés de l?article, c'est-à-dire :



Array
(
[isbn] => isbn-64589
[nom] => Flatron L1915S
[prix] => 300
[quantite] => 1
)



Définition des actions sur notre panier ?



On devra donc pouvoir :

- ajouter un article
- supprimer un article
- modifier une propriété d?un article
- ajouter une propriété à un article
- supprimer une propriété à un article
- récupérer le nombre d?article dans le panier
- récupérer un article
- récupérer l?intégralité du panier
- vider le panier


Code




<?php



//-------------------------------------
//
// class liteBasket V1
// autor telnes 2006
// permet de gérer un panier / caddie
// contact telness@hotmail.com
//-------------------------------------


class litebasket{

//panier
var $basket;

//constructeur
function litebasket(){

	$basket = array();

}


//ajoute un article
//un article est définit par ses clé (code | propriété) et ses valeurs
// array('isbn'=>'isbn-4587','nom'=>'clavier','prix'=>15,'quantite'=>56) par exemple
function addArticle($array){

	$this->basket[] = $array;

}

//supprime un article
function deleteArticle($idArticle){

	unset($this->basket[$idArticle]);

}

//modifie un article en fonction de son id et de la clé
function modifyArticle($idArticle,$code,$value){

	$this->basket[$idArticle][$code] = $value;

}

//ajoute un code suplémentaire à un article
function pushCodeArticle($idArticle,$code,$value){

	$this->basket[$idArticle][$code] = $value;
	
}

//supprime un code d'un article
function deleteCodeArticle($idArticle,$code){

	unset($this->basket[$idArticle][$code]);
}

//vide le panier
function deleteBasket(){

	$this->basket = array();
	
}


//retourne le nombre d'article
function getNbrArticle(){

	return count($this->basket);

}


//retourne le tableau de l'article lié à l id sous forme de tableau
function getInfoArticle($idArticle){

	return $this->basket[$idArticle];

}

//retourne l'intégralité du panier sous forme de tableau
function getBasket(){

    return $this->basket;
}



}//fin class



?>



Pour finir un petit script qui montre les différentes actions que l?on peut réaliser avec cette classe.

<?php
session_start();

//inclusion de la class panier
include 'litebasket.class.php';

//creation de mon objet panier
$monpanier = new litebasket();

//ajout d?article dans le panier
$monpanier->addArticle(array('code'=>'isbn-4587','nom'=>'clavier','prix'=>15,'quantite'=>1));
$monpanier->addArticle(array('code'=>'isbn-64589','nom'=>'ecran','prix'=>150,'quantite'=>1));


echo '---------------- addArticle ----------------<br>';
echo '<pre>';
print_r($monpanier);
echo '</pre>';


//suppression d'article 0
$monpanier->deleteArticle(0);


echo '---------------- deleteArticle(0) ----------------<br>';
echo '<pre>';
print_r($monpanier);
echo '</pre>';


//modifie le code quantite dans mon article 1
$monpanier->modifyArticle(1,'quantite',2);


echo '---------------- modifyArticle(1,\'quantite\',2) ----------------<br>';
echo '<pre>';
print_r($monpanier);
echo '</pre>';


$monpanier->pushCodeArticle(1,'periferique','usb');

echo "---------------- pushCodeArticle(1,'periferique','usb')----------------<br>";
echo '<pre>';
print_r($monpanier);
echo '</pre>';


$monpanier->deleteCodeArticle(1,'quantite');

echo "---------------- deleteCodeArticle(1,'quantite') ----------------<br>";
echo '<pre>';
print_r($monpanier);
echo '</pre>';


echo 'il y a '.$monpanier->getNbrArticle().' artile(s) <br>';


//mise en session du panier
$_SESSION['panier'] = $monpanier;

echo "---------------- affichage de la session ----------------<br>";
echo '<pre>';
print_r($_SESSION);
echo '</pre>';

?>

Complément d’informations

  • format zip

Article publié le 28/06/2006 par telnes.

  • nous contacter
  • mentions légales