Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
628 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

Interface et classes abstraites en php5 et php6

n°1346093
masklinn
í dag viðrar vel til loftárása
Posté le 13-04-2006 à 14:47:51  profilanswer
 

Reprise du message précédent :

omega2 a écrit :

Djebel1 > Un truc génial dans beaucoup de langages objets, c'est le transtypage. En gros, t'as bien une classe BDDMysql et une BDDPgSQL mais tout ce que véront les autres classes, c'est par exemple des objets de type BDDGenerique. (ou BddUpdater)


Raté, le truc génial c'est le polymorphisme pas le transtypage [:jar jar]
 
Et c'est pas dans "beaucoup de langages objets", un langage objet sans polymorphisme c'est pas un langage objet, le polymorphisme fait partie des bases du concept de POO [:jar jar]

omega2 a écrit :

EDIT : Masklinn > Comme tu viens de le citer, l'interface est équivalent à un cas particulier des classes abstraite. Ca n'est donc pas la même chôse.


[:pingouino]

omega2 a écrit :

Ca serait comme dire qu'un avion est un cas particulier de véhicule à moteur donc c'est la même chôse.


Tu racontes vraiment n'importe quoi [:pingouino]
 
C'est même plus de la mauvaise foi à ce niveau, on est à la limite de la stupidité, et ce sans même parler de ton analogie n'ayant strictement aucun rapport avec le cas qui nous occupe [:pingouino]
Et vu que j'ai le contenu de ton post avant édition, je vais y répondre

omega2 a écrit :

Mais est ce que tu trouves génial de devoir rajouter "abstract" à chaque ligne?


Vu à quel point le java est verbeux en l'état, je dirais que ça n'a aucune importance, sans même mentionner le copier-coller ou les abbréviations, disponibles dans 90% des éditeurs de textes utilisables.

omega2 a écrit :

une interface serait équivalent à un cas particulier de classe abstraite


C'est jamais que ce qu'on explique depuis 2 pages hein [:jar jar]

omega2 a écrit :

Si les classes abstraites et les interfaces sont exactement la même chôse


C'est pas le cas, apprends à lire bon sang [:pingouino]

omega2 a écrit :

Et qu'on ne me sorte pas que c'est pour "simuler de l'héritage multiple", l'héritage multiple ayant comme principal avantage d'hériter de plusieurs classes et donc d'utiliser les fonctions de toutes ces classes ce qui est impossible avec des interfaces vu qu'une interface ne fait que déclarer des fonctions et des variables.


Raté, apprends à coder [:jar jar]
 
Que tu le veuilles ou non, le rôle des interfaces n'est ni plus ni moins que le moyen de bénéficier de la fonctionalité "héritage du type" issu de l'héritage multiple en C++ et indisponible en Java/C# du fait du désir de ne pas implémenter le dit héritage multiple [:jar jar]

Djebel1 a écrit :

tu nous ferais pas un topo succint ? :)


Si je pense à rentrer chez moi ce soir et que je suis pas trop crevé, peut-être.

Djebel1 a écrit :

arf, acheter :/


Pour pas mal de choses, les meilleures sources en info sont des bouquins [:spamafote]
 
Les Design Patterns en font partie [:spamafote]


Message édité par masklinn le 13-04-2006 à 14:49:17

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 13-04-2006 à 14:47:51  profilanswer
 

n°1346114
nargy
Posté le 13-04-2006 à 15:02:49  profilanswer
 

c'est dommage que PHP ne gère pas encore les templates, parceque comme il est interprété tu pourrait faire des templates dynamiques. exit les factory.

n°1346123
Djebel1
Nul professionnel
Posté le 13-04-2006 à 15:08:43  profilanswer
 

?? oO

n°1346130
masklinn
í dag viðrar vel til loftárása
Posté le 13-04-2006 à 15:11:45  profilanswer
 

nargy a écrit :

c'est dommage que PHP ne gère pas encore les templates, parceque comme il est interprété tu pourrait faire des templates dynamiques. exit les factory.


J'crois que t'as pas tout compris au truc en fait[:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1346134
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-04-2006 à 15:13:44  profilanswer
 

nargy a écrit :

c'est dommage que PHP ne gère pas encore les templates, parceque comme il est interprété tu pourrait faire des templates dynamiques. exit les factory.


mais non enfin, ça n'a rien à voir [:mlc]
dans un template, tu as du code identique pour plusieurs types de données, alors qu'une classe implémentant une méthode d'une interface peut l'implémenter comme elle veut ! la façon de se connecter à une base Access est différente de celle d'une base Oracle, pourtant je m'y connecte de la même façon : bdUpdater.connect(). explique moi comment tu ferais avec les templates ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1346164
nargy
Posté le 13-04-2006 à 15:33:29  profilanswer
 

arrrg! on est déjà à la troisième page.
ho non, vous m'embrouillez là.
 
$bdd=new BddUpdater<$_POST['selction_bdd']>();

n°1346173
Djebel1
Nul professionnel
Posté le 13-04-2006 à 15:39:52  profilanswer
 

Bon après avoir un peu réfléchi, j'insiste sur mon histoire de paramètre balancé au factory (factory je sais pas lequel :p).
 
On peut prendre deux exemples : le choix de la langue, et le choix du format de visionnage (htlm, xml, pdf, ...). Dans les deux cas, le choix est unique pour toute la page : on ne va pas afficher une page à moitié en anglais et à moitié en français, on ne va pas non plus mettre du html dans un document pdf.
 
Et donc, dans ces cas précis, ça sert à rien de balancer le paramètre à chaque fois qu'on demande au factory de nous instancier une classe.
 
Donc pour moi, ce paramètre doit être un attribut de la classe factory. Ce paramètre est définit par mon frontcontroller, donc à un seul endroit.
 
Par exemple, pour la langue : mon fontcontroller check les langues de l'utilisateur, ou celle qu'il choisit dans son profil, etc. Le frontcontroller indique cette langue au factory.
Et hop, toutes les classes faisant de l'affichage n'auront plus qu'a appeler le factory par une méthode statique, et à demander leur petit objet, sans avoir à préciser de paramètres.
 
Ca me parait carrément plus honnete (dans ce type de cas).
(note que dans ce cas, ça pourrait même être directement le frontcontroller qui balance l'objet qui va bien, mais dans ce cas faudrait le passer en parametre à toutes les classes qui en ont besoin, donc bien relou par rapport à un singleton qui te le fait, et puis ça voudrait dire charger l'objet en mémoire bien avant d'en avoir besoin)


Message édité par Djebel1 le 13-04-2006 à 15:42:56
n°1346179
Berceker U​nited
PSN : berceker_united
Posté le 13-04-2006 à 15:44:01  profilanswer
 

nargy a écrit :

arrrg! on est déjà à la troisième page.
ho non, vous m'embrouillez là.
 
$bdd=new BddUpdater<$_POST['selction_bdd']>();


+1 rien de plus simple je l'ai compris ainsi aussi  [:ciler]
Comme nous disons au antille "il faut pas confondre coco et abricot" :lol:


Message édité par Berceker United le 13-04-2006 à 15:44:34
n°1346185
nargy
Posté le 13-04-2006 à 15:46:26  profilanswer
 

Djebel1> (dsl, j'ai pas lu tout tes posts) tu peut utiliser une variable globale, en PHP une session. Dans d'autres languages objets, tu définit une classe particulière, accessible aux autres classes qu'il faut, dans laquelle tu mets la config de l'utilisateur.

n°1346194
Djebel1
Nul professionnel
Posté le 13-04-2006 à 16:05:21  profilanswer
 

nargy a écrit :

Djebel1> (dsl, j'ai pas lu tout tes posts) tu peut utiliser une variable globale, en PHP une session. Dans d'autres languages objets, tu définit une classe particulière, accessible aux autres classes qu'il faut, dans laquelle tu mets la config de l'utilisateur.


ouais mais au final ça revient au même quoi : le paramètre balancé au factory est à un seul endroit :)

mood
Publicité
Posté le 13-04-2006 à 16:05:21  profilanswer
 

n°1346202
nargy
Posté le 13-04-2006 à 16:09:22  profilanswer
 

> ouais mais au final ça revient au même quoi : le paramètre balancé au factory est à un seul endroit :)
 
jallais te dire: ben justement... blabla
mais je viens de piger ce que tu veux dire. c'est balaise comme problème. d'habitude ça se gère pas dans un logiciel, ça se gère dans le cahier des charges, la doc technique, ou dans un diagramme UML, etc...

n°1346213
omega2
Posté le 13-04-2006 à 16:16:53  profilanswer
 

Arrêtez moi si je me trompe, mais quand on utilise un factory, le seul moment où le factory ne conait pas encore le paramettre, c'est là premiére fois qu'on l'utilise. Ensuite, il suffit de stocker la valeur du paramettre dans le factory et on a toutes les infos nécessaires.
Cette faàon de faire ne réglerait pas le probléme?

n°1346222
nargy
Posté le 13-04-2006 à 16:24:43  profilanswer
 

Ça reviendrait à avoir une config utilisateur.
Si j'ai bien compris, il est plus complexe que ça le problème.
Il s'agit putôt de déterminer quelles copies minimales de ce paramètre est suffisant et necessaire, aussi il me semble que les solutions sont nombreuses et les coût de production bien différents. La solution devrait se trouver en dehors du logiciel, car trop dépendante du métier.

n°1346223
masklinn
í dag viðrar vel til loftárása
Posté le 13-04-2006 à 16:24:44  profilanswer
 

nargy a écrit :

arrrg! on est déjà à la troisième page.
ho non, vous m'embrouillez là.
 
$bdd=new BddUpdater<$_POST['selction_bdd']>();


Filer des strings dans les templates/generics c'est nouveau? Ca vient de sortir?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1346227
nargy
Posté le 13-04-2006 à 16:26:20  profilanswer
 

> Filer des strings dans les templates/generics c'est nouveau? Ca vient de sortir?
:lol: ouais, je viens d'inventer le terme template dynamique.
En POO il n'y a pas de raison pour que ça n'existe pas. PHP est déjà capables de le faire (sans la syntaxe template).

n°1346241
masklinn
í dag viðrar vel til loftárása
Posté le 13-04-2006 à 16:37:36  profilanswer
 

nargy a écrit :

En POO il n'y a pas de raison pour que ça n'existe pas.


Sisi, c'est complètement stupide, c'est une très bonne raison pour que ça n'existe pas ta merde [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1346248
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-04-2006 à 16:41:40  profilanswer
 

nargy a écrit :


En POO il n'y a pas de raison pour que ça n'existe pas. PHP est déjà capables de le faire (sans la syntaxe template).


elle est ou la réutilisabilité de la chose, si tu files une chaine littérale en paramètre d'un template ? [:pingouino]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1346258
masklinn
í dag viðrar vel til loftárása
Posté le 13-04-2006 à 16:45:12  profilanswer
 

Harkonnen a écrit :

elle est ou la réutilisabilité de la chose, si tu files une chaine littérale en paramètre d'un template ? [:pingouino]


t'as jamais vu  

Code :
  1. eval("$mavariable"+i+"="+$valeur)


permettant, une fois placée dans une boucle, de créer $mavariable0, $mavariable1, $mavariable2, $mavariable3, $mavariable4, $mavariable5, $mavariable6, $mavariable7, $mavariable8, $mavariable9, etc...
Donc une structure simple, flexible, efficace, etc etc etc ?
 
Ben elle est au même endroit [:petrus75]


Message édité par masklinn le 13-04-2006 à 16:47:49

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1346262
Djebel1
Nul professionnel
Posté le 13-04-2006 à 16:46:50  profilanswer
 

omega2 a écrit :

Arrêtez moi si je me trompe, mais quand on utilise un factory, le seul moment où le factory ne conait pas encore le paramettre, c'est là premiére fois qu'on l'utilise. Ensuite, il suffit de stocker la valeur du paramettre dans le factory et on a toutes les infos nécessaires.
Cette faàon de faire ne réglerait pas le probléme?


c'est exactement ce que je voulais dire :)
Mais ça doit pas être vrai dans tous les cas (par exemple, accès à deux bdd de type différents dans le même script). Mais dans le cas où le type de classe renvoyé par le factory est le même pendant toute l'exécution du script, ça me semble être le plus efficace

Message cité 1 fois
Message édité par Djebel1 le 13-04-2006 à 16:48:18
n°1346264
nargy
Posté le 13-04-2006 à 16:48:06  profilanswer
 

[:ouais2] ouais. heureusement que ça n'existe pas, alors.

n°1346309
nargy
Posté le 13-04-2006 à 17:28:38  profilanswer
 

Djebel1 a écrit :

c'est exactement ce que je voulais dire :)
Mais ça doit pas être vrai dans tous les cas (par exemple, accès à deux bdd de type différents dans le même script). Mais dans le cas où le type de classe renvoyé par le factory est le même pendant toute l'exécution du script, ça me semble être le plus efficace


-> ça dépends plus de la phase de conception que de la phase développement
 
Masklinn>
Harkonnen>
moi aussi je préfère les gros switchs: ça fait de la lecture :P

n°1346341
masklinn
í dag viðrar vel til loftárása
Posté le 13-04-2006 à 17:57:20  profilanswer
 

nargy a écrit :

-> ça dépends plus de la phase de conception que de la phase développement
 
Masklinn>
Harkonnen>
moi aussi je préfère les gros switchs: ça fait de la lecture :P


Ok lol [:grinking]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1346629
Berceker U​nited
PSN : berceker_united
Posté le 14-04-2006 à 09:22:35  profilanswer
 

J'ai une autre question. Un classe abstraite peut elle hériter d'une autre classe abstraite? Afin que seul les classe les plus basse puisse être utilisé ?

n°1346631
nargy
Posté le 14-04-2006 à 09:30:40  profilanswer
 

oui (ça a été mentionné qqpart ci dessus)

n°1346632
masklinn
í dag viðrar vel til loftárása
Posté le 14-04-2006 à 09:35:18  profilanswer
 

Berceker United a écrit :

J'ai une autre question. Un classe abstraite peut elle hériter d'une autre classe abstraite? Afin que seul les classe les plus basse puisse être utilisé ?


oui, c'est même loin d'être rare.
accessoirement, il y en a plus d'un exemple dans le GoF.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1346636
skeye
Posté le 14-04-2006 à 09:37:05  profilanswer
 

comment ça php6?[:pingouino]

Message cité 1 fois
Message édité par skeye le 14-04-2006 à 09:37:15

---------------
Can't buy what I want because it's free -
n°1346638
Berceker U​nited
PSN : berceker_united
Posté le 14-04-2006 à 09:38:28  profilanswer
 

skeye a écrit :

comment ça php6?[:pingouino]


Détend toi man regarde le premier post  [:x-oni]

n°1346639
skeye
Posté le 14-04-2006 à 09:39:07  profilanswer
 

[:roane]


---------------
Can't buy what I want because it's free -
n°1346677
Berceker U​nited
PSN : berceker_united
Posté le 14-04-2006 à 10:17:49  profilanswer
 

ppff détend man c'est vendredi :/

n°1346703
alien_nan
Posté le 14-04-2006 à 10:36:24  profilanswer
 

est ce que ce ne serait pas judicieux de mettre les methodes de la factory en static ? plutot que de passer un parametre , on utilise une variable en static pour fixer la bdd (ds l'exemple d'Harko), et après plus besoin d'instancier l'objet avec les paramètres... et ca permet egalement de changer en "un coup" sans gerer les variables de session ou autre pour le multilangue par exemple (l'exemple du multilangue cité plus haut)...
 

n°1346706
skeye
Posté le 14-04-2006 à 10:38:52  profilanswer
 

Berceker United a écrit :

ppff détend man c'est vendredi :/


chuis tout à fait détendu, hein...[:dawa]


---------------
Can't buy what I want because it's free -
n°1346707
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-04-2006 à 10:39:24  profilanswer
 

anapajari a écrit :

Sans vouloir dévier du sujet


[:cupra]

n°1347504
Djebel1
Nul professionnel
Posté le 15-04-2006 à 18:21:37  profilanswer
 

alien_nan a écrit :

est ce que ce ne serait pas judicieux de mettre les methodes de la factory en static ? plutot que de passer un parametre , on utilise une variable en static pour fixer la bdd (ds l'exemple d'Harko), et après plus besoin d'instancier l'objet avec les paramètres... et ca permet egalement de changer en "un coup" sans gerer les variables de session ou autre pour le multilangue par exemple (l'exemple du multilangue cité plus haut)...


bah oui dans les liens données ils expliquent qu'en général c'est un singleton, donc c'est une méthode static qui se charge d'instancier la classe


Message édité par Djebel1 le 15-04-2006 à 18:22:45
n°1347542
Je@nb
Kindly give dime
Posté le 15-04-2006 à 20:37:42  profilanswer
 

drapal :)
J'aime ce topic :D
 
Déjà grace à Masklinn je vais avoir de la lecture :)
 
Sinon si ça tien toujours l'explication des factory je suis pas contre

n°1347555
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2006 à 22:59:56  profilanswer
 

mais merde, c'est moi qui ai introduit le sujet des factory, et c'est masklinn qui est remercié, c'est dégueulasse [:sisicaivrai]
en plus, j'ai posté des exemples concrets, lui il n'a fait qu'aligner des buzzwords [:sisicaivrai]
vie de merde :cry:


---------------
J'ai un string dans l'array (Paris Hilton)
n°1347561
Je@nb
Kindly give dime
Posté le 15-04-2006 à 23:13:33  profilanswer
 

Mais non c'est très bien tes exemples, merci beaucoup, c'est juste que il avait dit que il pourrait peut être faire un topo :D
Tes exemples sont super clair c'est cool, si j'ai bien compris ça ressemble au pattern Factory Methode

n°1347563
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2006 à 23:17:24  profilanswer
 

non, c'est le Simple Factory [:pingouino]
c'est bien ce que je dis, je me suis décarcassé pour rien [:sisicaivrai]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1347987
Djebel1
Nul professionnel
Posté le 17-04-2006 à 03:04:21  profilanswer
 

bah fais nous le topo sur les différents factory alors ;)

n°1356352
conquerant
Posté le 29-04-2006 à 03:51:45  profilanswer
 

nargy a écrit :

c'est dommage que PHP ne gère pas encore les templates, parceque comme il est interprété tu pourrait faire des templates dynamiques. exit les factory.


D'un autre coté, PHP est un langage ou tout est template vu qu'il n'y a pas de type (c'est ce qui fait que c'est un langage de merde d'ailleurs).
 
Un template ca permet de factoriser ton code pour éviter la répétition (comme l'héritage) mais sur quelque chose qui n'a ABSOLUMENT rien a voir avec l'héritage. Pour résumer, on va dire que ca simplifie la surcharge des types, exemple:
 
Plutot que d'écrire ca:  
 
void fonction(int arg) { ... };
void fonction(float arg) { ... };
void fonction(char arg) { ... };
void fonction(classe_x) { ... };
 
tu écris (en C++)
 
template<typename T>
void fonction(T arg) { ... };
 
une fois ton template tapé, dans ton code, à l'appel de fonction, tu auras:
int a;
fonction<int>(a);
 
Le compilo remplacera T par le type spécifié lors de la compilation, il ne fait que de la recopie pure et simple.
Le danger des templates, c'est que dans le code du template tu utilises des fonctions typées (auquel cas ton template n'a plus aucun sens) ou alors que tu utilises des opérateurs (auquel cas, les types/classes que tu lui fileras en argument doivent avoir ces opérateurs surchargés).
Or tu veux un template pour ne pas écrire 15x la classe de connection a chaque base de données.
1)Deja un type de base de données n'est pas un type en programmation (c'est le meme mot mais programmer c'est pas un jeu des homonymes)
2)Tu peux pas en faire un template (admettons que php supporte un template a la c++) pour la symple et bonne raison que, si on reste sur ton idée du "type", alors les fonctions que fournit le langage pour les bases de données sont "typées".
Pour mysql, il faut utiliser mysql_connect, mysql_query etc... Pour postgres, je crois que c'est pgres_connect, pgres_query...
En gros, tu mettrais quoi dans ton template? Un switch sur les types? Aucun interet alors. Un template ca a une vocation générale, donc on veut l'utiliser quelque soit le type. Le jour ou je veux utiliser ton template pour la base de donnée "Trucmuche" qui vient juste de sortir, il n'est plus valide car tu ne prévois pas le cas Trucmuche.
Un template C++, exemple, les conteneurs de la STL style list, ca peut faire des listes de n'importe quoi.
Hier des entiers/flottants, aujourd'hui des avions et demain des soucoupes volantes (alors qu'elles n'existent aps encore).
Donc s'il te plait, avant de lacher des mots comme ca, essaie au moins de savoir ce que ca veut dire. Qu'on débute, aucun problème (je suis moi meme un gros débutant) mais qu'on emploie des mots qu'on ne connait pas juste pour donner une impression de culture au milieu de cet étalage de science (y'en a qui passent bien pour des cons a ce jeu d'ailleurs) que te font les gros bills, je trouve ca idiot.
 
Si t'as pas envie de t'emmerder a taper une classe différente pour chaque type de base de données, dis toi que d'autres l'ont fait pour toi. Renseigne toi un peu sur le package DB du framework PEAR de php.
(tu tapes DB PEAR dans google, c'est le premier lien). Apres faut lire la doc qui est pas super bien faite.
 
Maintenant, le mot template en PHP a un sens tout particulier puisqu'il s'agit d'une daube infame qui permet de faire de l'affichage en te compliquant la vie. Y'a des mecs qui avaient la flemme de faire des if() else() et foreach() en php, alors ils ont inventé une surcouche daubée pour gérer l'affichage (mais ca revient a faire du if() else() for() avec une syntaxe dégueulasse dans un langage plus que douteux).
 
Enfin, si je peux me permettre de donner mon avis, je trouve que faire des classes abstraites, et pire, des interfaces en PHP c'est pas très utile car si le programmeur oublie de déclarer une méthode, l'erreur ne se fera pas a la compilation (vu qu'il n'y en a pas) mais à l'execution.
Vu que beaucoup de programmeurs sont très peu soucieux du travail qu'ils fournissent et ne testent quasiment rien, l'utilisateur se trouvera avec une belle erreur lui disant que la classe A ne redéclare pas la méthode chaussette() ce qui revient quasiment au meme que "appel d'une méthode inexistante a->chaussette() ligne 1".
La seule différence, c'est que dans le cas d'interface, tu auras l'erreur lorsque php parsera ton fichier de classe alors que sinon, il faudra attendre que cette méthode soit explicitement appelée a un endroit quelconque du code.
Quoi qu'il en soit, le mieux c'est de toujours tout tester (et retester d'ailleurs) et faire les choses proprement (ce que très peu de gens qui codent en php font, ex: surcharger la methode __set()).
 
Enfin en php, tu n'es pas obligé de suivre l'exemple qu'on t'a donné en Java (à savoir le switch de l'argument pour instancier la bonne classe).
Vu que php est un langage a chier, tu peux utiliser de gros raccourcis (a condition tujours de faire les choses correctement) ex:
 
function getInstance($of)
{
    $of = 'bdd' . $of;                       //$of contient par exemple bddMysql (si tu passes Mysql comme paramètre)
    $reference = new $of();            //On instancie la classe bddMysql
     
    return $reference;                    //On retourne la référence vers la nouvelle instanciation
}
 
Le prob c'est que tu peux filer n'importe quoi comme nom, alors a toi de bien coder ton controleur pour ne laisser comme choix a l'utilisateur que ce qui est valide.
Mais ca ca s'applique à tous les langages interprétés.

Message cité 2 fois
Message édité par conquerant le 29-04-2006 à 04:03:36
n°1356374
nargy
Posté le 29-04-2006 à 09:03:13  profilanswer
 

Voici le code, s'il y avait des templates:

Code :
  1. function getInstance<$of>()
  2. {
  3.     $reference = new $of();   //On instancie la classe bddMysql
  4.     return $reference;            //On retourne la référence vers la nouvelle instanciation
  5. }


Et le problème que ça résoud:

Citation :


Le prob c'est que tu peux filer n'importe quoi comme nom.


Message édité par nargy le 29-04-2006 à 09:03:53
n°1356409
smaragdus
whores, drugs & J.S. Bach
Posté le 29-04-2006 à 11:13:28  profilanswer
 

conquerant a écrit :

D'un autre coté, PHP est un langage ou tout est template vu qu'il n'y a pas de type (c'est ce qui fait que c'est un langage de merde d'ailleurs).
 
...
 
Vu que php est un langage a chier, tu peux utiliser de gros raccourcis (a condition tujours de faire les choses correctement) ex:


 
 
Que de trolls, que de trolls  :lol:  :lol:  :lol:
 
et dans la cat PHP en plus  [:zytrahusathome]


Message édité par smaragdus le 29-04-2006 à 11:16:21
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
configurer php5 pour apache2fréquences de classes sous vba-excel
Question de débutant. Interface HTML pour mes scripts perl ???Créer une interface graphique en c
installer une interface https ?Comment développer une appli, avec une interface graphique, que l
"Interface texte" en Cpb extension PHP5 sur mandriva 2006
[C++] Classes polymèrespostgres+ interface utilisateur
Plus de sujets relatifs à : Interface et classes abstraites en php5 et php6


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR