PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 02-02-2012 17:14:37

ebouilleur
Membre
Lieu : Nantes
Inscription : 19-05-2009
Messages : 165
Site Web

POO ou fonction?

Bonjour,

On parle bcp de POO, enfin de plus en plus dans le php

J'aime bien les exemples qui me parle, donc en voila un.
J'ai une fonction qui va vérifier si un membre a assez de bois par rapport au "prix" de bois demandé.


function assez_bois($id_pseudo,$prix,$inc = false)
//verifie si le joueur a assez de bois
{
  $sql="SELECT bois FROM perso_ressource WHERE id_pseudo='$id_pseudo'";
  $req = mysql_query($sql) or die('Erreur SQL fct verif bois!<br>'.mysql_error());   
  $var = mysql_fetch_array($req);    
  $bois = $var['bois'];
  if ($bois < $prix){
    $msg .= "Vous n'avez pas assez de bois, il vous en reste que ".$bois.".";
    include("pages/msg.php");
    if ($inc)
      include("footer.php");
    exit;
  }
}
 

Serait-il mieux de l'avoir sous forme de class? si oui pourquoi? (mes fonctions sont dans tes fichiers séparées déja)
Et si on devait la traduire en poo ca donnerai quoi?
Merci
Yves

Hors ligne

#2 02-02-2012 19:03:03

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : POO ou fonction?

Salut,

Une classe ne remplace pas une fonction.
Si tu veux utiliser les classes, il te faut penser objet (globalement).

Exemple simple :
Une classe joueur avec des propriétés comme "réserve de bois" etc...
Et a ce moment là tu peux implémenter une méthode joueur=>assezBois($prix).

Voila sur le principe.

A+


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#3 03-02-2012 17:14:09

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : POO ou fonction?

Bonjour,

Mc Allan a raison. Il faut penser objet et aussi MVC. Sur le modèle Modele-Vue-Controlleur je t'invite à parcourir le web sur les moteurs de recherches ce ne sont pas les références et les explications qui manquent à ce sujet.

Le modèle MVC illustre bien la façon dont il est nécessaire d'organiser son code de manière à avoir un code
- Plus facilement lisible
- Plus spécialisé et compartimenté
- Plus facilement maintenable (un developpeur peut mettre à jour le code qui gère la vue d'une application, pendant qu'un autre met à jour la couche métier sans travailler sur les mêmes fichiers : pas d'accès concurentiel sur les sources).

Dans ton exemple avec ta fonction tout est mélangé: ta requête=couche métier, la condition au niveau de la quantité de bois relève du controleur, et ton include relève de la vue. Il s'agit en plus d'une mauvaise façon d'utiliser les fonctions. En effet une fonction doit réaliser une tâche et une seule (fonction=calcul/réalisation d'une fonctionnalité). De plus, il faut absolument éviter dans les fonctions de créer des contextes d'appels multiples, auquel cas ton appli ne sera plus maintenable dans de bonnes conditions à court terme. Comme pour les classes il te faut donc spécialiser tes fonctions.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 03-02-2012 19:08:12

ebouilleur
Membre
Lieu : Nantes
Inscription : 19-05-2009
Messages : 165
Site Web

Re : POO ou fonction?

okok, je vais réfléchir a tout ça, merci a vous 2

Hors ligne

Pied de page des forums