|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() |
Bonjour,
J'ai créé une classe fichier et une sous-classe image pour importer des fichiers dans une librairie. En l'état actuel, le script qui reçoit un fichier va en déterminer le type puis créer une nouvelle instance de fichier ou d'image en fonction de l'extension. Je débute en POO, mais je ne suis pas satisfait de cette solution, et je me demande si il ne serait pas possible que ma classe se définisse elle-même en fonction du fichier reçu, et acquière des propriétés et fonctions différentes. Par exemple, j'ai une fonction save() qui pour une image va créer une vignette, mais pas pour un autre type de fichier (forcément!). Quelle est la meilleure manière de faire en sorte que cette même fonction ait un comportement en fonction de l'objet? Merci de votre aide, liens bienvenus |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
http://fr.wikipedia.org/wiki/Patron_de_conception
je dirais 1 factory + 1 singleton mais je ne suis pas fort en design pattern.
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() |
Merci! Oui, ça a l'air d’être ce que je cherche. Par contre il semblerait que j'ai intérêt a passer a 5.3 avant de m'y mettre:
http://fr.wikipedia.org/wiki/Singlet...ception)#PHP_5 |
|
|
00
|
|
|
#4 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Hello
Je suis d'accord avec l'idée de gene69, je voudrais juste y apporter mon grain de sel. Ta librarie devra se munir d'une classe Singleton FileSystem capable de manager différents types de fichiers indépendamment de leurs types mimes et dans les deux sens (réception par formulaire, envoi à l'utilisateur). Cette classe devra à cet effet porter un Factory qui lui permettra de créer des instance qui caractériseront des vues sur des fichiers (ou répertoires) et qui sont capable de traiter chacune un type de fichier particulier (plus éventuellement une classe File générique dont hériteront tes classes). Tu peux t'aider des classes de la SPL pour ça : http://www.php.net/manual/en/spl.files.php (voir la classe SplFileObject). Et oui, PHP 5.3 sera d'une grande aide (surtout si tu veux pouvoir créer des méta classes pour définir des comportements sur des fichiers au runtime avec des closures mais là on s'écarte légèrement de ce que tu voulais faire au départ). |
|
00
|
|
|
#5 |
|
Membre actif
![]() |
Oui, c'est deja ce que je fais avec mes classes actuelles, ca acquiert, ca sert, ca convertit, aussi bien un icone issu d'une chaine qu'un fichier distant par FTP, ou évidemment un en local. Plus toutes fonctions spécifiques aux images. Mais je sens que la structure doit etre améliorée.
fichiers au runtime avec des closures? Tu peux expliquer, ca m'intéresse? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com