Problème de conception de développement

Eléphant du PHP | 226 Messages

17 janv. 2012, 15:45

Bonjour/ bonsoir,

Je crois que j'ai affaire à un problème de conception... Je vais tâcher d'expliquer le plus précisément possible le problème.
1) j'ai un premier fichier (content.php) qui fait office de conteneur, dans lequel j'inclus au début plusieurs fichiers notamment des classes
- searchComptes.php
- classEditComptes.php
Certaines inclusions se font par le biais de liens -> inc. searching.php est appelé à l'intérieur de 'content.php'

2) Dans searching.php, il y a un formulaire dans lequel je fais appel à une première méthode ($editComptes->listeSections de la class 'classEditComptes', pour lister des sections)

3) L'envoie des informations du formulaire se fait par ajax, à un fichier tiers (ctrl.php). Dans celui-ci, j'insère à nouveau la class 'searchComptes.php' pour utiliser la méthode $searchCompte->resultBySection($section).

4) La méthode '$searchCompte->resultBySection($section)' sert à afficher les résultats de la soumission du formulaire de 'searching.php':
Dans cette méthode, si la requête renvoie des résultats, j'effectue une nouvelle inclusion (inc. view/tableAdmin.php)

5) C'est view/tableAdmin.php qui récolte et affiche (toujours par ajax) les résultats de la méthode $searchCompte->resultBySection($section). Ils seront montrés en dessous du formulaire, toujours dans 'content.php'.

Pour appuyer mes propos, j'ai dessiné un schéma Image

J'ai également repris une copie d'écran Image

Tout ceci fonctionne correctement, même si le développement de l'application est à revoir. Car c'est là qu'il montre ses limites : à la fin de 'view/tableAdmin.php', je dois à nouveau afficher la liste des sections, et donc de solliciter l'objet et à la méthode '$editComptes->listeSections'. Sauf que je ne vois pas comment y faire appel encore...
Bref, c'est un joyeux bazar (pour rester correct!) Comment permettre cela ?
merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

Mammouth du PHP | 1511 Messages

19 janv. 2012, 14:31

Si une classe enfant doit acceder une ressource d'une classe parent, alors tu dois passer celle-ci au fil des constructeurs.