2010-09-17 7 views
1

Une question rapide sur les meilleures pratiques avec les classes PHP. J'ai vu des gens utiliser des noms de fichiers tels que something.class.php pour organiser leurs classes dans des fichiers externes. Il est donc préférable d'avoir un fichier par classe ou plusieurs classes par fichier. En ce moment, je suis en train d'écrire un RPG et j'ai un seul fichier class_lib.php. Je n'ai actuellement que des classes liées aux personnages, et avant que je ne parte, j'aimerais savoir s'il est plus approprié de garder les classes groupées dans des fichiers, d'avoir toutes les classes dans un seul fichier ou de garder chaque classe dans son propre fichier.Classes d'organisation - Meilleure pratique?

Quels sont les avantages/inconvénients de chaque approche?

Fait ce CW comme il peut ne pas avoir une réponse définitive

+0

possibilité de dupliquer http: // stackoverflow.com/questions/220347/best-way-organiser-php-class-heirarchy –

Répondre

1

Leur avantages et des inconvénients des deux approches. Séparer les classes en fichiers séparés vous permet de savoir instantanément quel fichier modifier si vous devez mettre à jour une classe et conserver toutes les logiques liées à cette classe au même endroit. Il est également bénéfique du point de vue du référentiel du code source de séparer les fichiers. Il augmente la quantité de chargement pour inclure une tonne de fichiers, mais cela est probablement négligeable. Un autre inconvénient est d'avoir à ouvrir de nombreux fichiers au cours du codage et il peut être difficile de naviguer si vous décidez d'utiliser également des dossiers dans la structure. Avoir des classes liées dans le même fichier est plus pratique que tout et peut être source de confusion pour savoir quel fichier contient la classe que vous devez modifier.

Si votre projet ne sera pas très important, il dépendra probablement de vous de la manière dont vous voulez l'organiser. Mais pensez-y en termes de "Si je ne touche pas au code dans 6 mois, est-ce que je me souviendrai où aller pour éditer cette classe?"

+0

Si vous utilisez un IDE moderne en général, vous pouvez accéder à n'importe quelle fonction ou classe via l'explorateur de code de projet. Eclipse et PHPEdit viennent à l'esprit. Ce genre d'abstracts où vous stockez les classes. – ladieu

-2

Une classe, un seul fichier. OMI, c'est plus facile d'un point de vue organisationnel.

Autres conseils:

  • Maintenir les niveaux de l'héritage et la liste des paramètres à un minimum absolu. Plus de 5 ou 6 devient un peu trop complexe
  • utiliser des qualificatifs de portée les plus restrictives
1

Un fichier par classe, avec chargement automatique pour les inclure seulement quand ils sont nécessaires

1

cours Keeping dans des fichiers séparés permet autoloading. En théorie, cela peut être utile si certaines classes - que vous mettriez sinon dans un gros fichier - sont rarement utilisées (NB, ce n'est qu'une spéculation aveugle.) L'auto-chargement peut entraîner un coût de performance compensatoire.)

0

dépend du goût et de la taille de vos cours. La séparation est purement pour l'organisation. Donc, si vous pensez que ce serait plus facile dans un fichier, ou une classe par fichier, cela dépend de vous. Avantages: facile à trouver ce que vous voulez. Moins de défilement! Inconvénients: commutation constante entre fichiers.

Peut être ennuyeux lors de la création de nouvelles classes à la volée.

Questions connexes