Nocta Posté 8 Janvier 2013 Posté 8 Janvier 2013 Bonjour à tous, Je fais face à un petit soucis et votre aide serait la bienvenue. Je suis actuellement en train de coder une assez grosse classe qui va regrouper pas mal de methode. Je cherche un moyen de séparer ma classe en plusieurs fichier. Pour voir les choses très grossierement, j'aimerai pouvoir faire quelque chose de ce genre : class A { public function abc () { return a; } include('mon_fichier.php'); } Contenu de "mon_fichier.php" : public function def() { return b; } J'avais vu qu'il existait "aggregate_methods" mais c'est depracated et le soucis c'est que j'aimerai rester qu'avec un seul objet. C'est peut etre une question vraiment très bête mais je ne vois pas comment faire... D'avance merci beaucoup de votre attention !
Dadou Posté 8 Janvier 2013 Posté 8 Janvier 2013 A part le nombre de lignes de ton fichier, un intérêt à vouloir découper en plusieurs fichiers ta classe?
Nocta Posté 8 Janvier 2013 Auteur Posté 8 Janvier 2013 A part le nombre de lignes de ton fichier, un intérêt à vouloir découper en plusieurs fichiers ta classe? Non aucun interet à part ca. C'est juste pour structurer ma classe. Mais j'aimerai vraiment pouvoir le faire.
Dadou Posté 8 Janvier 2013 Posté 8 Janvier 2013 Ce n'est pas possible, et cela serait une très mauvaise idée si ce l'était, en effet, découper en plusieurs fichier une classe pose un problème d'intégrité sur cette dernière.
SStephane Posté 8 Janvier 2013 Posté 8 Janvier 2013 Si le nombre de ligne pose problème (c'est stupide par contre), il te suffit de l'étendre (mais ça n'a aucun sens conceptuellement parlant) : Ficher 1: class A{ function foo(){ } } Fichier 2 : class B extends A{ function bar(){ } } Et tu n'instancies que B. Tu peux même considérer A comme abstraite dans la mesure où tu n'es pas censé l'instancier, mais vu la raison pour laquelle tu souhaites découper, je pense que ça sert à rien. Le concept existe en .NET avec le mot-clé partial, mais il a été introduit pour une bonne raison, pas uniquement pour le nombre de ligne Tiens, j'ai lu en diagonal, mais voici pourquoi : http://www.devx.com/dotnet/Article/22603
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant