Php en poo ou procédurale ?

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Mer Avr 26, 2006 13:15

juste pour me faire une idée, tu pourrais poster les interfaces de tes classes qui manipulent les tables membre et annonce.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mer Avr 26, 2006 13:19

spidetra a écrit:juste pour me faire une idée, tu pourrais poster les interfaces de tes classes qui manipulent les tables membre et annonce.

oui ce sera bien plus facile de se forger une idée.

netsys
WRInaute passionné
WRInaute passionné
 
Messages: 1113
Inscription: 17 Juil 2004

Message le Mer Avr 26, 2006 14:46

Je vais devoir les écrire alors.... :roll:

Je posterai ca dès que j'aurai quelques choses de compréhensible.

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Mer Avr 26, 2006 15:05

netsys a écrit:Je vais devoir les écrire alors.... :roll:

Je posterai ca dès que j'aurai quelques choses de compréhensible.


Ne les écrit pas juste pour les poster sur le forum !

Tu sais une interface c'est un truc aussi simple que ça :
Code: Tout sélectionner
public interface UserDAO extends DAO {
    /**
     * Gets users information based on login name.
     * @param username the current username
     * @return user populated user object
     */
    public User getUser(String username);

    /**
     * Gets a list of users based on parameters passed in.
     *
     * @return List populated list of users
     */
    public List getUsers(User user);

    /**
     * Saves a user's information
     * @param user the object to be saved
     */
    public void saveUser(User user);

    /**
     * Removes a user from the database by id
     * @param username the user's username
     */
    public void removeUser(String username);
}


Pour en revenir à ton projet, je ne suis pas vraiment sûr que tu sois vraiment prêt pour te lancer dans un projet en OO.
Si ton projet est important et que tu doit passer en production pourquoi ne pas rester en procédural ?

Tu peux très bien coder proprement et de manière sécurisé sans être obligé de passer en OO.

Il est facile de planter un projet informatique, il est encore plus facile de planter un projet OO avec une mauvaise analyse, il est extêmement facile de planter un projet en se lançant avec des technos que l'on maîtrise mal.

netsys
WRInaute passionné
WRInaute passionné
 
Messages: 1113
Inscription: 17 Juil 2004

Message le Mer Avr 26, 2006 15:55

Ok merci, donc mes cours de poo ne serviront jamais alors... ou juste à instancier un objet voiture, à allumer le moteur, rouler quelques km avec et arreter le moteur :cry:

Je deconne mais c'est un peu la cas quand meme.

bigjet
WRInaute discret
WRInaute discret
 
Messages: 211
Inscription: 21 Nov 2004

Message le Mer Avr 26, 2006 16:22

Tu pourrais utiliser la POO juste pour gérer les accès à la base de donnée, ou bien juste pour gérer l'accès des pages par les membres. L'idée étant de minimiser le couplage dans le système afin de faciliter les modifications.

Exemple: tu as une classe usager:

Code: Tout sélectionner
class Usager{
var $tabusager = array(); // tableau qui contiendre les infos de l'usager

function Usager(){
//recuperer les infos du membre et le mettre sur le tableau $tabusager
}

function est_connecte(){
if($tabusager["username"])
return true;
else
return false;
}

function est_admin(){
if($tabusager["admin"]==1)
return 1;
else return 0;
}

function recuperer_pseudo(){
if($tabusager["username"])
return $tabusager["username"]);
else
return "Invité";
}

}


ensuite dans ton code, tu instancie la classe Usager:

Code: Tout sélectionner
$bonhomme = new Usager();

if($bonhomme->est_connecte())
... traitement....

if(bonhomme->est_admin())
... traitement....

echo bonhomme->recuperer_pseudo();


L'avantage c'est que si un jour tu changes complètement ton système de login, t'auras juste à modifier ta classe usager. Le reste ne changera pas.

netsys
WRInaute passionné
WRInaute passionné
 
Messages: 1113
Inscription: 17 Juil 2004

Message le Mer Avr 26, 2006 16:46

Merci pour l'exemple...

J'utilise déjà des classes pour la gestion de la bd avec une classe sur le principe du signleton qui etend mysqli et qui ne me fait qu'une connexion à la base dans tout le script.

Après pour modéliser mon système c'est une autre histoire...

Mais je pense vu les conseils coder en procédurale.

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Mer Avr 26, 2006 16:58

netsys a écrit:Ok merci, donc mes cours de poo ne serviront jamais alors... ou juste à instancier un objet voiture, à allumer le moteur, rouler quelques km avec et arreter le moteur :cry:

Je deconne mais c'est un peu la cas quand meme.


Je n'ai pas dit ça. C'est aussi une question de priorité. La priorité pour toi aujourd'hui, c'est de sortir un projet opérationnel, non ?
Entraîne-toi a OO sur des projets perso.

netsys
WRInaute passionné
WRInaute passionné
 
Messages: 1113
Inscription: 17 Juil 2004

Message le Mer Avr 26, 2006 21:49

C'est un projet perso justement. Mais c'est pas parce que c'est perso que le projet ne doit pas être au top.

Merci pour vos conseils !

Je posterai d'ici quelques temps (1 mois j'espère) l'adresse du site en question pour voir la finalité de tous ces posts.

Php en poo ou procédurale ?

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités