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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  62  63  64  65  66  67
Auteur Sujet :

Model View Controller (MVC) - Architecture des applications PHP

n°1214445
masklinn
í dag viðrar vel til loftárása
Posté le 04-10-2005 à 14:41:56  profilanswer
 

Reprise du message précédent :

omega2 a écrit :

Avec la description dans la doc, tu ne peux pas t'assurer que le programmeur qui passe derriére a bien tout fait comme il faut. Avec une interface, le compilo gueulera même si on utilise pas toutes les fonctions devant exister dans la classe. Du moins normalement, il gueule. (ma derniére utilisation d'une interface, c'était il y a un an)


Bordel de bite à cul, on parle pas de Java là, on parle de langages à typage dynamique, interprétés, le compilo ne fait pas de vérifications de types c'est tout juste si il fait une vérif de syntaxe [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 04-10-2005 à 14:41:56  profilanswer
 

n°1214446
uriel
blood pt.2
Posté le 04-10-2005 à 14:42:43  profilanswer
 

omega2 a écrit :

Avec la description dans la doc, tu ne peux pas t'assurer que le programmeur qui passe derriére a bien tout fait comme il faut. Avec une interface, le compilo gueulera même si on utilise pas toutes les fonctions devant exister dans la classe.


je dirais +1, en tout cas c'est pour ca que j'ai commencé a en faire en php. justement pour controler ca :??:


---------------
IVG en france
n°1214447
skeye
Posté le 04-10-2005 à 14:43:09  profilanswer
 

masklinn a écrit :

Bordel de bite à cul, on parle pas de Java là, on parle de langages à typage dynamique, interprétés, le compilo ne fait pas de vérifications de types c'est tout juste si il fait une vérif de syntaxe [:pingouino]


 
bah au moins il s'assure que ta fonction existe, quoi...[:petrus75]


---------------
Can't buy what I want because it's free -
n°1214448
uriel
blood pt.2
Posté le 04-10-2005 à 14:43:38  profilanswer
 

masklinn a écrit :

Bordel de bite à cul, on parle pas de Java là, on parle de langages à typage dynamique, interprétés, le compilo ne fait pas de vérifications de types c'est tout juste si il fait une vérif de syntaxe [:pingouino]


tu veux dire qu'il gueule pas si tu fasi pas ca comme il faut [:mlc]


---------------
IVG en france
n°1214449
omega2
Posté le 04-10-2005 à 14:44:05  profilanswer
 

Masklinn > Au fait, avec ta logique, c'est quoi l'intéret d'une interface dans un langage à typage statique? Aprés tout suffit de décrire dans la doc du programme comment doivent être constitué les classes. ;) Aprés tout, on se retrouve alors avec exactement la même chôse tout en ayant des couches en moins.

n°1214450
skeye
Posté le 04-10-2005 à 14:44:32  profilanswer
 

uriel a écrit :

tu veux dire qu'il gueule pas si tu fasi pas ca comme il faut [:mlc]


si.
Crée une interface et une classe qui l'implémente, si tu implémentes pas les fonctions déclarées dans ton interface, il gueule.:o


---------------
Can't buy what I want because it's free -
n°1214451
omega2
Posté le 04-10-2005 à 14:45:00  profilanswer
 

masklinn a écrit :

Bordel de bite à cul, on parle pas de Java là, on parle de langages à typage dynamique, interprétés, le compilo ne fait pas de vérifications de types c'est tout juste si il fait une vérif de syntaxe [:pingouino]

Je vérifierais ce soir, mais de toute maniére, je te croirais pas avant d'avoir vérifier.

n°1214452
uriel
blood pt.2
Posté le 04-10-2005 à 14:45:13  profilanswer
 

skeye a écrit :


Crée une interface et une classe qui l'implémente, si tu implémentes pas les fonctions déclarées dans ton interface, il gueule.:o


je sais  pas, je fais rarement cette erreur [:franck75]


---------------
IVG en france
n°1214455
skeye
Posté le 04-10-2005 à 14:46:29  profilanswer
 

uriel a écrit :

je sais  pas, je fais rarement cette erreur [:franck75]


Moi aussi, mais dans le cas de php j'aime bien tester pour voir si ça fait bien ce que ça devrait.[:petrus75]


Message édité par skeye le 04-10-2005 à 14:46:35

---------------
Can't buy what I want because it's free -
n°1214457
FlorentG
Unité de Masse
Posté le 04-10-2005 à 14:46:31  profilanswer
 

masklinn a écrit :

Bordel de bite à cul, on parle pas de Java là, on parle de langages à typage dynamique, interprétés, le compilo ne fait pas de vérifications de types c'est tout juste si il fait une vérif de syntaxe [:pingouino]


Moi je m'en fout du langage en dessous. Tout ce qu'il me faut, c'est une interface pour définir les méthodes d'une classe. Après si le langage en dessous gère pas les interfaces, je m'en balance...

mood
Publicité
Posté le 04-10-2005 à 14:46:31  profilanswer
 

n°1214464
multani
Dépressionnisé
Posté le 04-10-2005 à 14:48:33  profilanswer
 

Préciser de quelle version de php vous parlez là, c'est un peu un dialogue de sourds [:moule_bite]

n°1214467
skeye
Posté le 04-10-2005 à 14:49:02  profilanswer
 

multani a écrit :

Préciser de quelle version de php vous parlez là, c'est un peu un dialogue de sourds [:moule_bite]


php5, pour les interfaces, en-dessous ça existe pas.:o


---------------
Can't buy what I want because it's free -
n°1214468
FlorentG
Unité de Masse
Posté le 04-10-2005 à 14:49:12  profilanswer
 

PHP4, bien-sûr, mais je compte passer au 5... pour des soucis de rapidité tant en OO qu'en XML

n°1214474
uriel
blood pt.2
Posté le 04-10-2005 à 14:50:48  profilanswer
 

php5 pour moi


---------------
IVG en france
n°1214477
multani
Dépressionnisé
Posté le 04-10-2005 à 14:51:38  profilanswer
 

skeye a écrit :

php5, pour les interfaces, en-dessous ça existe pas.:o


 

FlorentG a écrit :

PHP4, bien-sûr, mais je compte passer au 5... pour des soucis de rapidité tant en OO qu'en XML


 
Ouais, sauf que Masklinn s'excite depuis tout à l'heure sur l'espèce de truc à FlorentG en php4 qui essaie de ressembler à une interface [:petrus75]
 
Donc oui, en php4, ça sert à rien, en php5, ya des trucs prévu pour qui te gueuleront dessus si tu respects pas l'interface.

n°1214478
push
/dev/random
Posté le 04-10-2005 à 14:51:46  profilanswer
 

L'expert raconte des conneries [:marc]

n°1214481
omega2
Posté le 04-10-2005 à 14:52:41  profilanswer
 

FlorentG > Evite alors de dire que ca marche pas vu que t'as même pas essayé avec une version récente. Et php4, désolé de te dire ça, mais pour faire de la programmation objet en php, c'est largement dépassé alros faut pas s'étoner que certains trucs ne marchent pas.

n°1214482
FlorentG
Unité de Masse
Posté le 04-10-2005 à 14:54:05  profilanswer
 

push a écrit :

L'expert raconte des conneries [:marc]


Quel expert ?

n°1214483
skeye
Posté le 04-10-2005 à 14:54:38  profilanswer
 

(pour aller avec les interfaces, on gagne aussi les classes abstraites, la visibilité des membres, etc...en php5! [:dawa])


---------------
Can't buy what I want because it's free -
n°1214486
skeye
Posté le 04-10-2005 à 14:55:16  profilanswer
 

omega2 a écrit :

FlorentG > Evite alors de dire que ca marche pas vu que t'as même pas essayé avec une version récente. Et php4, désolé de te dire ça, mais pour faire de la programmation objet en php, c'est largement dépassé alros faut pas s'étoner que certains trucs ne marchent pas.


mais de quoi tu causes, toi? [:pingouino]


---------------
Can't buy what I want because it's free -
n°1214487
FlorentG
Unité de Masse
Posté le 04-10-2005 à 14:55:18  profilanswer
 

omega2 a écrit :

FlorentG > Evite alors de dire que ca marche pas vu que t'as même pas essayé avec une version récente.


Hein ? Où ça j'ai dis que ça marchais pas ? Je parlais de PHP4, je sais très bien qu'en PHP5 ça marche
 

omega2 a écrit :

Et php4, désolé de te dire ça, mais pour faire de la programmation objet en php, c'est largement dépassé alros faut pas s'étoner que certains trucs ne marchent pas.


Nan arrête je savais pas [:dawa] ah nan mais tu m'apprend quelque chose là [:dawa] Nan sérieux [:dawa]

n°1214488
push
/dev/random
Posté le 04-10-2005 à 14:55:22  profilanswer
 

FlorentG a écrit :

Quel expert ?


quel question [:mlc] tu connais pas l'expert ? [:mlc]

n°1214489
masklinn
í dag viðrar vel til loftárása
Posté le 04-10-2005 à 14:55:51  profilanswer
 

omega2 a écrit :

Masklinn > Au fait, avec ta logique, c'est quoi l'intéret d'une interface dans un langage à typage statique? Aprés tout suffit de décrire dans la doc du programme comment doivent être constitué les classes. ;) Aprés tout, on se retrouve alors avec exactement la même chôse tout en ayant des couches en moins.


Heuuu non...

 

Prenons un exemple: tu as des classes de chocolat, un chocolat blanc, un chocolat noir et un chocolat au lait.

 

Ce sont des objets différents instancés à partir de classes différentes (c'est illogique, je sais, normalement ils devraient tous avoir la même classe et différer par les valeurs des membres mais c'est comme ça), mais tous ont une partie commune.

 

Maintenant imaginons un mélange utilisant n'importe quel chocolat, en le faisant fondre par exemple (la méthode "fondre" étant présente dans tous les chocolats).

 

Dans un langage à typage statique, soit tu crées n fois la fonction utilisant le chocolat (pour chaque type de chocolat) soit tu te simplifies la vie en créant une interface IChocolat implémentée par tous tes chocolats, et tu vas définir ta fonction comme

void melangerChocolat(IChocolat chocolat) {
    chocolat.fondre();
}


au lieu de te taper

void melangerChocolat(ChocolatBlanc chocolat) {
    chocolat.fondre();
}
void melangerChocolat(ChocolatBlanc chocolat) {
    chocolat.fondre();
}
void melangerChocolat(ChocolatBlanc chocolat) {
    chocolat.fondre();
}


Avec des surdéfinitions à effectuer pour chaque nouveau chocolat.

 

Donc l'interface est nécessaire et simplifie grandement la logique de l'application.

 

Maintenant dans un langage dynamique, tout ce que tu écris c'est

melangerChocolat(chocolat){
    chocolat.fondre();
}


Pas besoin d'interface, "fondre" fait partie du protocole de "chocolat", et tout ce qui fond est utilisable [:spamafote]

 

Si la méthode "fondre" n'existe pas, exception (c'est pas du chocolat) que tu catches proprement [:spamafote]

 

Mieux, si un jour tu te rends compte que tu peux remplacer ton chocolat par du sucre, suffit que ton sucre puisse fondre (ce qu'il peut faire, sinon tu pourrais pas remplacer ton chocolat) et tu peux le balancer à la place du chocolat (tu redéfinis le protocole utilisé, mais dans la mesure où ce n'est qu'une représentation logique de l'implémentation physique ça n'a aucune importance).

 

Alors qu'avec tes interfaces statiques tu l'auras dans l'os, parce que personnellement je vais pas demander à mon sucre d'implémenter IChocolat [:spamafote]

Message cité 1 fois
Message édité par masklinn le 13-05-2008 à 19:52:36

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1214492
skeye
Posté le 04-10-2005 à 14:58:10  profilanswer
 

non rien.:o


Message édité par skeye le 04-10-2005 à 14:58:31

---------------
Can't buy what I want because it's free -
n°1214493
push
/dev/random
Posté le 04-10-2005 à 14:58:23  profilanswer
 

masklinn a écrit :

Si la méthode "fondre" n'existe pas, exception (c'est pas du chocolat) que tu catches proprement [:spamafote]


et après l'avoir catché t'en fait quoi ? [:mlc]

n°1214494
omega2
Posté le 04-10-2005 à 14:58:46  profilanswer
 

FlorentG a écrit :

Hein ? Où ça j'ai dis que ça marchais pas ? Je parlais de PHP4, je sais très bien qu'en PHP5 ça marche

C'est bizare, t'étais le seul à parler de php4.

n°1214495
FlorentG
Unité de Masse
Posté le 04-10-2005 à 14:58:49  profilanswer
 

push a écrit :

et après l'avoir catché t'en fait quoi ? [:mlc]


Tu la fait fondre :o

n°1214496
FlorentG
Unité de Masse
Posté le 04-10-2005 à 14:59:11  profilanswer
 

omega2 a écrit :

C'est bizare, t'étais le seul à parler de php4.


Je crois oui :( Mais promis, je me met au 5 dès cette semaine [:dawa]

n°1214497
skeye
Posté le 04-10-2005 à 14:59:30  profilanswer
 

Machine> http://www.nexen.net/docs/php/anno [...] inting.php


---------------
Can't buy what I want because it's free -
n°1214498
masklinn
í dag viðrar vel til loftárása
Posté le 04-10-2005 à 15:00:07  profilanswer
 

push a écrit :

et après l'avoir catché t'en fait quoi ? [:mlc]


Tu fais ce que t'es censé faire quand le mec a pas mis du chocolat (ou un truc qui fond) [:mlc]
 
Genre tu throw une autre exception de type FailedRecipe, parce que tu viens de perdre tous tes ingrédients en mettant des brocolis dans ton gateau [:mlc]


[:petrus75]
 
Mon dieu...

Message cité 1 fois
Message édité par masklinn le 04-10-2005 à 15:01:21

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1214502
skeye
Posté le 04-10-2005 à 15:03:21  profilanswer
 

masklinn a écrit :

[:petrus75]
 
Mon dieu...


 
Ben quoi, ils gèrent déjà les classes, c'est pas mal![:petrus75]


---------------
Can't buy what I want because it's free -
n°1214503
omega2
Posté le 04-10-2005 à 15:03:29  profilanswer
 

Tiens, conaissais pas ça. La classe, faut que je regardes de plus prés pour m'en servir. :)

n°1214505
skeye
Posté le 04-10-2005 à 15:03:55  profilanswer
 

(bon, ok, une erreur fatale c'est un brin moins pratique qu'une exception...[:pingouino])


---------------
Can't buy what I want because it's free -
n°1214513
push
/dev/random
Posté le 04-10-2005 à 15:07:16  profilanswer
 

c'est pas moins pratique c'est logique, tu respectes pas l'interface ça doit se vautrer, pas commencer à se catcher c'est n'importe quoi ça [:mlc]

Message cité 1 fois
Message édité par push le 04-10-2005 à 15:07:28
n°1214516
masklinn
í dag viðrar vel til loftárása
Posté le 04-10-2005 à 15:08:35  profilanswer
 

push a écrit :

c'est pas moins pratique c'est logique, tu respectes pas l'interface ça doit se vautrer, pas commencer à se catcher c'est n'importe quoi ça [:mlc]


C'est plus une interface bordel, c'est un protocole, et si tu respectes pas le protocole t'as une erreur, si l'erreur est prévue tu catches et tu fais ce que t'as à faire, si elle est pas prévu ça vautre en bubblant l'exception avec une trace [:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1214526
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:11:49  profilanswer
 

masklinn a écrit :

C'est plus une interface bordel, c'est un protocole, et si tu respectes pas le protocole t'as une erreur, si l'erreur est prévue tu catches et tu fais ce que t'as à faire, si elle est pas prévu ça vautre en bubblant l'exception avec une trace [:mlc]


Normalement ça devrait même pas compiler... Nichts exception ou quoi que ce soit : impossible de continuer lors de la compilation / parsing du script

n°1214529
push
/dev/random
Posté le 04-10-2005 à 15:12:42  profilanswer
 

masklinn a écrit :

C'est plus une interface bordel


Quoi c'est plus une interface ? c'est quoi ça ? [:mlc] http://www.php.net/manual/fr/langu [...] rfaces.php

n°1214542
masklinn
í dag viðrar vel til loftárása
Posté le 04-10-2005 à 15:17:50  profilanswer
 

FlorentG a écrit :

Normalement ça devrait même pas compiler... Nichts exception ou quoi que ce soit : impossible de continuer lors de la compilation / parsing du script


[:mlc]

push a écrit :

Quoi c'est plus une interface ? c'est quoi ça ? [:mlc] http://www.php.net/manual/fr/langu [...] rfaces.php


Mais t'as vraiment rien compris :pfff:  
 
Depuis tout à l'heure, j'essaie d'expliquer que je ne vois pas l'intérêt d'utiliser cette infamie dans un langage dynamique [:itm]
 
Une interface, c'est une convention implémentée statiquement, parce que c'est impératif dans les langages à typage statique.
 
Un protocole, c'est une convention implémentée dynamiquement (via duck typing), parce que c'est largement plus pratique et moins verbeux [:itm]

Message cité 3 fois
Message édité par masklinn le 04-10-2005 à 15:19:17

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1214552
push
/dev/random
Posté le 04-10-2005 à 15:20:43  profilanswer
 

masklinn a écrit :

[:mlc]
 
Mais t'as vraiment rien compris :pfff:  
 
Depuis tout à l'heure, j'essaie d'expliquer que je ne vois pas l'intérêt d'utiliser cette infamie dans un langage dynamique [:itm]


Parceque t'as pas compris qu'il y avait belle et bien une vérification et en cas de non respect de l'interface une erreur [:mlc]

n°1214554
masklinn
í dag viðrar vel til loftárása
Posté le 04-10-2005 à 15:22:46  profilanswer
 

push a écrit :

Parceque t'as pas compris qu'il y avait belle et bien une vérification et en cas de non respect de l'interface une erreur [:mlc]


Ratal, si, et j'ai aussi compris que cette daube n'était même pas utilisable sur les types natifs du langage, super quoi [:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1214563
skeye
Posté le 04-10-2005 à 15:25:07  profilanswer
 

Faut pas désespérer, PHP6 p-e?[:petrus75]
Et la possibilité de typer un paramètre avec une interface, voire de typer le retour des fonctions...[:dawa]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  62  63  64  65  66  67

Aller à :
Ajouter une réponse
 

Sujets relatifs
Comment créer une architecture propre et fonctionelle...[Débutant] Webdesigner a besoin d'aide pour PHP
script PHP style explorateur windowsPHP et MS SQL
[PHP] envoi d'images qui se dimentionne et s'ajoute direct sur 1pageAfficher le temps utilisé pour générer une page PHP
[PHP] connexion bdd différente selon page locale ou sur serveur ?Afficher une image générée par un script PHP dans un PDF ?
Utilisation d'une variable en Flash depuis PHPErreur de forum PHP
Plus de sujets relatifs à : Model View Controller (MVC) - Architecture des applications PHP


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