Page 1 sur 1

Développement d'une boutique en PHP

Posté : 13 avr. 2012, 15:11
par MEGASTORE
Bonjour à tous, je viens vous demander votre aide, je viens de passer 2 h pour faire ma page de fonctions en PHP
<?php

Class ClassStore
{
	public $items = Array();
	
	public function GetItemList()
	{
		return $this->items;
	}
	
	public function ItemQuantity($item)
	{
		$i = 0;
		
		foreach ($this->items as $key => $value)
		{
			if ($value == $item)
			{
				$i++;
			}
		}
		
		return $i;
	}
	
	public function Amount()
	{
		$amount = 0;
		
		foreach ($this->items as $item => $price)
		{
			$amount += $price;
		}
		
		return $amount;
	}
	
	public function AddToCart($item, $price)
	{
		$this->items[$item] = $price;
	}
	
	public function RemoveToCart($item)
	{
		unset($this->items[$item]);
	}
	
	public function CreateTicket()
	{
		global $core;

			$ticket = "ticket-";
			$ticket .= $core->Hash(rand(30,150));
			
			return $ticket;
	}
	
	public function GetUserMoney($username)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			mysql_result(dbquery("SELECT money FROM user_store"), 0);
		}
	}
	
	public function HaveEnoughMoney($username)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			if ($this->GetUserMoney($username) >= $this->Amount())
			{
				return true;
			}
			
			return false;
		}
	}
	
	public function SubtractMoney($username, $value)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			$value = $this->GetUserMoney($username) - $value;
			
			dbquery("UPDATE user_infos SET money = '" . $value . "' WHERE username = '" . filter($username) . "'");
		}
	}
	
	public function BuyItems($username)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			if ($this->HaveEnoughMoney($username))
			{
				$this->SubtractMoney($username, $this->Amount());
				dbquery("INSERT INTO user_ticket (ticket) VALUES ('" . $this->CreateTicket(); . "')");
				
				return true;
			}
			
			return false;
		}
	}
}

?>
Je voudrais vous demander si j'ai fait des erreurs de codes ou autres, j'utilise notepad ++

Re: Développement d'une boutique en PHP

Posté : 13 avr. 2012, 15:19
par MEGASTORE
J'ai fait une fonction supplémentaire
public function EmptyCart()
	{
		foreach ($this->items as $item => $price)
		{
			$this->RemoveToCart($item);
		}
	}

Re: Développement d'une boutique en PHP

Posté : 13 avr. 2012, 15:23
par Mazarini
$this->items = array(); me semble plus simple.

Re: Développement d'une boutique en PHP

Posté : 13 avr. 2012, 15:26
par MEGASTORE
Merci du conseil, je n'ai pas fait d'autres erreurs sinon ou code trop compliqué ?

Re: Développement d'une boutique en PHP

Posté : 13 avr. 2012, 15:39
par Mazarini
Je ne suis pas un expert de la programmation objet, mais il me semble que tu devrais faire plusieurs objets en regroupant des choses qui forment un tout cohérent. Par exemple faire un objet produit, un objet personne (ou client), un objet panier...

Autrement, comme je te l'ai dit dans un autre post, pour la méthode ItemQuantity tu ne peux avoir que 0 ou 1 comme résultat.