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 :

[POO] Organisation des fichiers


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 440
    Par défaut [POO] Organisation des fichiers
    Bonjour

    J'aimerais savoir s'il y a une méthode qui est mieux entre:

    -Un fichier qui contient toutes les classes en ordre alphabétique

    -Un fichier par classe

    Je me dis que un fichier qui est contient tout permet d'avoir un include et que tout est toujours accessible. Mais pourtant dans plusieurs scripts, il y a un fichier par classe.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Bonjour,

    Je ne fais pas d'objet, mais Je pense que tu devrais faire comme tu le sens, et en fonction de tes données :
    petites ou grandes classes, beaucoup ou peu de classes...

    Z.

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Les deux sont faisables, la mode étant quand même au fichier dédié à la classe couplé à un mécanisme d'autochargement.

    Imagine le zend framework dans un seul fichier...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 440
    Par défaut
    lol ouais je vois ce que tu veux dire . C'est souvent l'erreur que je fais, je ne vois pas à grande échelle.

    Peut être qu'un serait mieux alors. Mais le processus d'autochargement charge toutes les classes?

  5. #5
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Citation Envoyé par php.net
    De nombreux développeurs qui créent des applications orientées objet, créent un fichier source par définition de classe. L'inconvénient majeur de cette méthode est d'avoir à écrire une longue liste d'inclusions de fichier classes au début de chaque script : une inclusion par classe.

    En PHP 5, ce n'est plus nécessaire. Vous pouvez définir la fonction __autoload() qui va automatiquement être appelée si une classe n'est pas encore définie au moment de son utilisation. Grâce à elle, vous avez une dernière chance pour inclure une définition de classe, avant que PHP ne déclare une erreur.
    Je connais pas trop les classes, donc je ne sais pas si ca répond a ta question.

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Prosis Voir le message
    Peut être qu'un serait mieux alors. Mais le processus d'autochargement charge toutes les classes?
    L'autochargement ne charge que les classes nécessaires. Sinon, une bonne vieille floppée de require_once ferait l'affaire.

    Et pour revenir à la question initiale, si ton projet n'est pas trop gros, toutes les classes dans un seul fichier est tout à fait envisageable. Tu prendras plus de mémoire, mais tu économiseras du temps machine bouffé par l'autoload.

    it's up to you.

  7. #7
    Membre émérite Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Par défaut
    En général je me limite à 1 classe / fichier sauf dans le cas de classes "privées" genre une classe DBMS et des classes privées : DBMS_Result et DBMS_Transaction (je ne veux pas que l'utilisateur instancie ces classes). ^^

  8. #8
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Un fichier par classe a l'avantage de faciliter le versionning (svn, git etc) ainsi que, par conséquence, le dev à plusieurs sur un même projet.

    En revanche, en production, tout mettre dans un seul gros fichier n'est pas une mauvaise idée si on n'a pas de moteur de cache d'opcode (apc etc) et que à peu près toutes les classes packtées () dans l'unique fichier seront utilisées à chaque requête.
    Donc inutile de charger un unique fichier de 2 mega si 50% de ses classes ne servent que tous les 36 du mois.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 440
    Par défaut
    Ah ca je n'y avais pas pensé par contre.

    Bon ca y est, 1 classe par fichier

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Organisation des fichiers après génération
    Par mister3957 dans le forum Visual C++
    Réponses: 2
    Dernier message: 14/01/2009, 18h07
  2. [Smarty] Organisation des fichiers et inclusion
    Par Darkcristal dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/12/2008, 17h46
  3. [Système] Organisation des fichiers
    Par Prosis dans le forum Langage
    Réponses: 12
    Dernier message: 10/02/2008, 23h30
  4. Organisation des fichiers du programme
    Par greg13 dans le forum Linux
    Réponses: 2
    Dernier message: 16/03/2007, 15h25
  5. [POO] Organisation des classes PHP
    Par AsQuel dans le forum Langage
    Réponses: 6
    Dernier message: 16/02/2007, 09h09

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