IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Organiser mes classes


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Organiser mes classes
    Bonjour tout le monde !

    Je suis en train de me lancer dans mon premier site Internet codé en POO et j'aurai besoin d'un peu d'aide pour commencer l'application.

    Je suis en train de créer un module recopiant le fonctionnement des pages jaunes. C'est à dire un affichage des données d'une entreprises en fonction de ce qu'il ont payé. De base il y a juste le nom tél fax adresse,... et si ils prennent la formule plus cher il y aura le logo le site internet, ...

    Le principe est que l'entreprise s'inscrive, puis dans le backoffice un admin valide ou pas l'inscription permettant à celle ci de s'afficher après une recherche par région (carte cliquable avec area).

    En PHP procédurale pas de problème mais en objet je ne sais par quoi commencer ?

    Je suis tenter par faire comme ça :

    Une class qui gére la BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    class bdd {
     
    function __construct //qui gére la connectionà la bdd
    function select
    function insert
    function update
    function delete
    }
    Une autre classe entreprise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class entreprise {
     
    function __construct //qui gére je ne sais quoi
    function jesaispas
    }
    Et c'est la que je bloque.

    Pouvez-vous me donner quelques suggestions ou conseils ?

    Merci d'avance

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu as envisagé d'utiliser un framework ?
    Sinon, on a des tutos sur le modèle mvc, par exemple : http://julien-pauli.developpez.com/t...vc-controleur/

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Bonjour et merci pour votre réponse

    EN fait je commence seulement à toucher la POO et j'ai déja regardé les framework et je trouve ca vraiment lourd à utiliser.

    J'aimerai dans un premier temps créer et utiliser mes propres classes même si elle seront moins complète et sécurisé que zend, ... tout cela dans le but de comprendre la POO.

    Je ne souhaite pas encore intégrer un modèle MVC car pour ma petites application je n'en juge pas nécessaire.

    Je souhaite seulement savoir comment vous vous y prenez pour savoir quelle classe doit faire quoi avec quelles méthodes ... qui hérite de qui ... qui implementes qui.

    Je pense qu'en codant ce site en objet cela me permettra de connaitre les bases de la POO


    Merci

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Pour ce projet je possède 3 tables :
    Entreprise (id, raison sociale, adresse, ...)
    Région (id,code, nom)
    Utilisateur (id, nom, prénom, tel, ...)

    D'après ce que j'ai pu lire beaucoup de personne crée une class par table.
    Donc :
    BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    class bdd {
     
     function Insert ($info[]) {
     }
     
     function Update ($info[]) {
     }
     
     function Select ($info[]) {
     }
     
     function Delete ($info[]) {
     }
     
    }
    Entreprise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class entreprise {
     
     //Affiche l'entreprise en function de la region cliquer par l'internaute
     function AfficheEntrepriseRegion ($region) {
     }
     
     //Affiche des entreprises par default lorsque l'utilisateur arrive sur la page d'acceuil
     function EntrepriseDefaut
    }
     
    ...
    Région
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class region {
     
     //Récupere le code d'un region
     function CodeRegion ($id) {
     return code
     }
     
     function EntrepriseDefaut
     }
     
    ...

    Utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class utilisateur{
     
     //Récupere le code d'un region
     function InscritUtilisateur () {
     
     }
     
     function AfficheUtilisateurs () {
     }
     
    ...

    Voila après quelques recherche la façon dont je pense faire. Le problème est que je n'ai pas l'impression d'utiliser la puissance de la POO. J'ai pas d'extend pas d'interface ect ect.

    Comment auriez-vous (les pros de PHP) fait cela ?

    Je continue les recherche de mon coté : Je rappelle que je ne veut pas encore utiliser de framework et de MVC pour le moment. C'est juste pour m'entrainer .

    Merci

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    Déjà pour ta classe de base de données, tu as tout intérêt à étendre la classe PDO.

    Pour le reste, je n'en vois pas trop l'intérêt vu que tu refuses d'utiliser l'approche MVC. Autant pour la vue je peux comprendre qu'on veuille l'intégrer au contrôleur mais séparer le modèle du contrôleur est vraiment pratique dès qu'on fait de la POO.
    Le MVC c'est surtout une manière de s'organiser, c'est indispensable sur de gros projets mais ça n'empêche pas de le faire aussi pour de plus petits.

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    BOnjour,

    Oui pardon j'ai bien mes classes dans un dossier 'model' séparé.

    Par contre la vue et le contrôleur sont dans le même fichier. Etant à la fois le graphiste et le développeur de l'appli il n'y a aucun intérêt de les dissocié en deux fichiers car de toutes facon le controleur est en debut du fichier et la vue en fin de fichier.

    Donc pour ma class BDD j'ai compris qu'il fallait mieux utilisé PDO qui va falloir apprendre à utiliser.

    Pour mes autres class as-tu des suggestions afin d'utiliser la POO comme il le faut ?

    Merci

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    Si tu as des relations entre tes tables, ça peut être intéressant de pouvoir les abstraire dans tes classes, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $region=Region::trouveParCode($code);
    $entreprises=Entreprise::trouveParRegion($region);
    Avec ta classe Region qui va associer le code de la région à son ID dans la base de données, qui se trouve également être un champs de la table associée à la classe Entreprise.
    En gros ça fait la même chose qu'une jointure SQL, sauf que là le SQL est géré directement dans les Modèles.

    Après tout dépend du projet, mais même pour un de petite taille je trouve intéressant d'utiliser un framework, ça rend le développement beaucoup plus rapide justement en laissant au framework la gestion de ce genre de choses.

Discussions similaires

  1. [PHP 5.4] Organisation de mes classes
    Par ben01n dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2014, 14h11
  2. Organiser mes classes
    Par TheBlackReverand dans le forum C#
    Réponses: 2
    Dernier message: 10/02/2008, 15h20
  3. Organisation et optimisation de mes classes?
    Par Sylk dans le forum Langage
    Réponses: 4
    Dernier message: 30/11/2007, 10h22
  4. [VB.Net 2.0] Comment organiser mes classes ?
    Par arno2000 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 26/06/2006, 15h28
  5. ClassWizard --> comment lui faire reconnaitre mes classes
    Par bigboomshakala dans le forum MFC
    Réponses: 6
    Dernier message: 06/05/2004, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo