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

 


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

Model View Controller (MVC) - Architecture des applications PHP

n°1214563
skeye
Posté le 04-10-2005 à 15:25:07  profilanswer
 

Reprise du message précédent :
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 04-10-2005 à 15:25:07  profilanswer
 

n°1214564
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:25:16  profilanswer
 

masklinn a écrit :

Une interface, c'est une convention implémentée statiquement, parce que c'est impératif dans les langages à typage statique.


Mais moi je veux des interfaces dans mon truc à typage dynamique, pour être sûr que tout ne parte pas dans tous les sens. Tant-pis si le langage ne supporte pas les interfaces, le générateur de code PHP à partir de diagrammes UML se charge de me faire ça...

n°1214567
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:26:21  profilanswer
 

skeye a écrit :

Et la possibilité de typer un paramètre avec une interface, voire de typer le retour des fonctions...[:dawa]


Ca va casser des fonctions style strpos qui peuvent retourner soit un entier, soit un booléen (enfin soit un entier soit false) :cry:

n°1214569
skeye
Posté le 04-10-2005 à 15:26:55  profilanswer
 

FlorentG a écrit :

Ca va casser des fonctions style strpos qui peuvent retourner soit un entier, soit un booléen (enfin soit un entier soit false) :cry:


fake, false c'est zéro.:o


---------------
Can't buy what I want because it's free -
n°1214574
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:28:07  profilanswer
 

skeye a écrit :

fake, false c'est zéro.:o


Nan ! [:dawa] enfin presque :
false == 0 -> true
false === 0 -> false

n°1214576
omega2
Posté le 04-10-2005 à 15:28:41  profilanswer
 

masklinn a écrit :

Une interface, c'est une convention implémentée statiquement, parce que c'est impératif dans les langages à typage statique.

ha bon, alors dans un langage dynamique on a pas besoin de savoir quelle fonction apeller dans les objets? :heink:  
Je suis désolé, mais moi, j'utilises des interfaces pour mon site web, par ce que j'ai prévus d'en ouvrir plus tard les sources et que je veux pas que certaines parties du code soient patché dans tous les sens ou que les sites fait avec mon systéme se cassent la gueule par ce qu'un imbécile aura pas fait une classe comme il faut.
Qu'il y ai une compilation une fois pour toute ou une compilation à chaque exécution, ca ne change rien à l'affaire.

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

skeye a écrit :

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]


Mais pour quoi faire, c'est un langage à typage inexistant dynamique faible, si tu veux ce genre de trucs tu utilises Java ou C# quoi [:pingouino]
 
The right tool for the right job, toussa [:pingouino]

omega2 a écrit :

ha bon, alors dans un langage dynamique on a pas besoin de savoir quelle fonction apeller dans les objets? :heink:


On a pas besoin de définir statiquement si un objet possède bien une méthode prédéfinie, t'appelles la méthode, si elle existe ça marche, si elle existe pas t'as une erreur et tu réagis comme tu le veux [:petrus75]

Message cité 2 fois
Message édité par masklinn le 04-10-2005 à 15:30:40

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

FlorentG a écrit :

Nan ! [:dawa] enfin presque :
false == 0 -> true
false === 0 -> false


 
euh, oui.[:petrus75]
Encore une connerie due à leur non-typage, ça, m'enfin bon...:o


---------------
Can't buy what I want because it's free -
n°1214580
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:29:56  profilanswer
 

masklinn a écrit :

Mais pour quoi faire, c'est un langage à typage inexistant dynamique faible, si tu veux ce genre de trucs tu utilises Java ou C# quoi [:pingouino]
 
The right tool for the right job, toussa [:pingouino]


On tente de simuler un langage à typage fort, c'est tout [:kbchris]
 

skeye a écrit :

euh, oui.[:petrus75]
Encore une connerie due à leur non-typage, ça, m'enfin bon...:o


D'où le triple-égal, pour rajouter un peu de typage :D

n°1214583
omega2
Posté le 04-10-2005 à 15:30:34  profilanswer
 

skeye a écrit :

euh, oui.[:petrus75]
Encore une connerie due à leur non-typage, ça, m'enfin bon...:o

Plus exactement du au retour des signaux d'erreur par le même canal que la valeur demandé ... comme en C quoi. :(

mood
Publicité
Posté le 04-10-2005 à 15:30:34  profilanswer
 

n°1214584
skeye
Posté le 04-10-2005 à 15:30:48  profilanswer
 

masklinn a écrit :

Mais pour quoi faire, c'est un langage à typage inexistant dynamique faible, si tu veux ce genre de trucs tu utilises Java ou C# quoi [:pingouino]
 
The right tool for the right job, toussa [:pingouino]


 
Moi, si je pouvais faire tourner du php en écrivant du java, ça m'irait très bien hein...[:jagstang]
Seulement va trouver un serveur web capable d'interpréter du java en live...[:petrus75]

Message cité 1 fois
Message édité par skeye le 04-10-2005 à 15:32:16

---------------
Can't buy what I want because it's free -
n°1214589
skeye
Posté le 04-10-2005 à 15:31:58  profilanswer
 

omega2 a écrit :

Plus exactement du au retour des signaux d'erreur par le même canal que la valeur demandé ... comme en C quoi. :(


non non, la notion du triple égal c'est bien une connerie due au non-typage...:o


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

skeye a écrit :

Moi, si je pouvais faire tourner un truc du php en écrivant du java, ça m'irait très bien hein...[:jagstang]
Seulement va trouver un serveur web capable d'interpréter du java en live...[:petrus75]


On appelle ça des JSP [:petrus75]


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

skeye > ben les browser interprétent pas non plus du php en live. :lol:
C'est le serveur web qui le fait, et apache peut gérer les deux.

n°1214594
omega2
Posté le 04-10-2005 à 15:33:14  profilanswer
 

mais heu, skeye il a corrigé son message. :p C'est pas juste.

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

omega2 a écrit :

apache peut gérer les deux.


Ouais, mod_java est un module Apache bien connu [:icon12]


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

masklinn a écrit :

On appelle ça des JSP [:petrus75]


 
C'est compilé, j'ai jamais fait, et ça nécéssite un serveur d'appli tout khakha, à ma connaissance, non...[:petrus75]
 

omega2 a écrit :

skeye > ben les browser interprétent pas non plus du php en live. :lol:
C'est le serveur web qui le fait, et apache peut gérer les deux.


 
merci pour l'info...[:kiki]
j'avais corrigé...:o


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

T'as corrigé aprés que j'ai lu la page. :p Spa ma faute si j'avais de la lecture avant de poster. ;)

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

skeye a écrit :

C'est compilé, j'ai jamais fait, et ça nécéssite un serveur d'appli tout khakha, à ma connaissance, non...[:petrus75]


Ben c'est du java quoi [:petrus75]
 
 
Mais tu peux faire du perl si tu préfères [:cupra]
(ah merde, c'est à peu près aussi typé que le php)

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

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

masklinn a écrit :

Ben c'est du java quoi [:petrus75]


 
...donc c'est pourri sur de nombreux points.:o
Si je peux taper le même code et que ça tourne avec la même simplicité que le php actuellement, je vote pour.:o


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

skeye a écrit :

Si je peux taper le même code et que ça tourne avec la même simplicité que le php actuellement, je vote pour.:o


T'as beaucoup de rêves comme ça?  
Genre gagner au loto, devenir président des états unis, ce genre de trucs [:petrus dei]


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

masklinn a écrit :

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]


Oui bein en attendant niveau visibilité ta solution tu te l'a fours dans le fion et moins verbeux je rigole, et ça à le mérite de coller au modèle de conception comme Floreng en éprouve le besoin, et d'être plus strict que ta tambouille à coup d'exception, donc  [:yodanc]

n°1214629
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:41:10  profilanswer
 

Bien, si on retournait au sujet du topic ? "Architecture des applications PHP" ? [:dawa]

n°1214632
skeye
Posté le 04-10-2005 à 15:41:43  profilanswer
 

masklinn a écrit :

T'as beaucoup de rêves comme ça?  
Genre gagner au loto, devenir président des états unis, ce genre de trucs [:petrus dei]


tsss.:o
Il manque pas énormément au php 5 pour me plaire vraiment, en fait...[:jagstang]
Surtout si on oublie le bug à la con que j'ai depuis ce matin et que personne ne sait résoudre, évidemment.:o


---------------
Can't buy what I want because it's free -
n°1214633
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:41:59  profilanswer
 

C'est quoi ton bug ?

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

push a écrit :

Oui bein en attendant niveau visibilité ta solution tu te l'a fours dans le fion


Ce serait sûrement une magnifique phrase si elle avait le moindre sens [:gratgrat]

Citation :

moins verbeux je rigole


 :heink:  

Citation :

ça à le mérite de coller au modèle de conception


C'est le cas dans les deux cas :heink:  

Citation :

être plus strict que ta tambouille à coup d'exception


Plus strict? Plus restrictif surtout [:petrus75]


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

FlorentG a écrit :

Bien, si on retournait au sujet du topic ? "Architecture des applications PHP" ? [:dawa]


 
Tiens, bonne idée.:o
Mon appli actuelle se présente sous la forme d'un portail, qui présente une liste de services.
lesquels services peuvent réutiliser les objets créés par le portail.
Ma question est :
Vous structureriez ça comment?
Un gros controleur qui instancie ce qui va bien en fonction d'un paramètre GET (liste des services si vide, sinon le service idoine...)?
Un sous-repertoire par service, avec son index.php et son contrôleur/ses classes spécifiques?
Autrement?


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

skeye a écrit :

...donc c'est pourri sur de nombreux points.:o
Si je peux taper le même code et que ça tourne avec la même simplicité que le php actuellement, je vote pour.:o

Je dirais pas que c'est aussi simple mais une fois qu'on a compris comment ca marche, c'est un chouet langage. :)
Aprés, c'est vrai que si le java pouvait devenir aussi simple que le php tout en gardant ses qualités, ca serait génial. :)
 
Un autre réve grandiose, ca serait de l'asp/javascript aussi complet que du php. Depuis que je m'occupe du site web de la boite, j'ai l'impression de passer la moitié de mon temps à réinventer la roue. :(

n°1214652
skeye
Posté le 04-10-2005 à 15:46:27  profilanswer
 

FlorentG a écrit :

C'est quoi ton bug ?


http://forum.hardware.fr/hardwaref [...] m#t1214161
[:dawa]


---------------
Can't buy what I want because it's free -
n°1214655
FlorentG
Unité de Masse
Posté le 04-10-2005 à 15:48:40  profilanswer
 

skeye a écrit :

Tiens, bonne idée.:o
Mon appli actuelle se présente sous la forme d'un portail, qui présente une liste de services.
lesquels services peuvent réutiliser les objets créés par le portail.
Ma question est :
Vous structureriez ça comment?
Un gros controleur qui instancie ce qui va bien en fonction d'un paramètre GET (liste des services si vide, sinon le service idoine...)?
Un sous-repertoire par service, avec son index.php et son contrôleur/ses classes spécifiques?
Autrement?


Autrement dit, opter pour un gros FrontController, ou alors une série de PageController...  
 
Alors y'en a qui pensent que le gros controleur, ça doit être le serveur web [:johneh] Autrement dit, le client demande cash le PageController qu'il faut, qui va s'auto-instancier. Soit un FrontController (donc un simple index.php) qui va faire ça...
 
Pour ma part, je préfère un FrontController. Je peux ainsi gérer un système d'InterceptionFilter, et donc gérer tout ce qui est caching, authentification de manière centralisée...

n°1214660
skeye
Posté le 04-10-2005 à 15:51:15  profilanswer
 

FlorentG a écrit :

Autrement dit, opter pour un gros FrontController, ou alors une série de PageController...  
 
Alors y'en a qui pensent que le gros controleur, ça doit être le serveur web [:johneh] Autrement dit, le client demande cash le PageController qu'il faut, qui va s'auto-instancier. Soit un FrontController (donc un simple index.php) qui va faire ça...
 
Pour ma part, je préfère un FrontController. Je peux ainsi gérer un système d'InterceptionFilter, et donc gérer tout ce qui est caching, authentification de manière centralisée...


 
Ok.:o
C'est un peu ce que j'avais envisagé de faire, mais c'est le plus lourd à faire par rapport au code actuel...[:petrus75]


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

masklinn a écrit :

Ce serait sûrement une magnifique phrase si elle avait le moindre sens [:gratgrat]


Elle est très clair pourtant, si tu regardes ton code on n'y voit strictement rien, ton protocole il apparaît pas aussi clairement qu'une interface et c'est pas négligable, en gros tu réinventes les interfaces mais avec le loisir de passer outre [:mlc]

Citation :

:heink:


Bein oui désolé lacher et catcher des exceptions c'est pas moins verbeux pour moi.

Citation :

C'est le cas dans les deux cas :heink:


Regarde FlorenG, il a fait ses jolis diagramme UML, et avec ta solution ses interface disparaissent et deviennent implicites avec un surcroit de travail avec tes exceptions.

Citation :

Plus strict? Plus restrictif surtout [:petrus75]


Oui c'est le but.
 
Sur ce  [:dawa_neowen]

n°1220864
thierrybo2
Posté le 11-10-2005 à 23:08:05  profilanswer
 

skeye a écrit :

[un peu HS]
Dans le code d'exemple, on peut lire ceci :
 

Code :
  1. function addObserver (& $observer) {
  2.         $this->observers[]=& $observer;
  3.     }


 
A l'affectation le & est encore nécéssaire? [:urd]
Puisque l'objet passé en paramètre est déjà une référence, je vois pas pourquoi... :??:
[/un peu HS]


 
C'est parce que la variable est passée deux fois, d'abord à la fonction, et une fois encore pour la placer dabs la variable membre.
 
Thierry Bothorel

n°1224157
c0wb0y
:d
Posté le 16-10-2005 à 23:33:57  profilanswer
 

Vous avez laissez tomber le sujet ?  
 
Ca m'interesse moi, je poste pas car je maitrise pas le modèle MVC, mais j'apprends en ce moment et ce topic tombe a pic pour voir comment l'adapter à une application web  :D  
 
Donc allez y les gars, faites du code  :ange:

n°1224295
FlorentG
Unité de Masse
Posté le 17-10-2005 à 11:18:14  profilanswer
 

Hihi :D Moi je suis en plein développement de mes DAO... Donc dès que c'est fini, je posterai 2-3 trucs. En attendant, posez vos questions, exposez vos architectures :)

n°1224296
nraynaud
lol
Posté le 17-10-2005 à 11:22:07  profilanswer
 


[:pingouino]
 
tu en as combien ????


---------------
trainoo.com, c'est fini
n°1224298
FlorentG
Unité de Masse
Posté le 17-10-2005 à 11:24:10  profilanswer
 

nraynaud a écrit :

[:pingouino]
 
tu en as combien ????


J'en ai 3 [:dawa] Et surtout faut en faire un par source de données. Bon là je fais juste ceux pour MySql et XML...

n°1224304
nraynaud
lol
Posté le 17-10-2005 à 11:26:18  profilanswer
 

ah ok.
 
j'ai eu peur ...
 
en général on fini avec un nombre pair : un par source + un fake de test.


---------------
trainoo.com, c'est fini
n°1224313
FlorentG
Unité de Masse
Posté le 17-10-2005 à 11:33:01  profilanswer
 

Voilà :jap:

n°1224607
KrisCool
“Verbeux„
Posté le 17-10-2005 à 14:46:02  profilanswer
 

Grosso modo, je n'ai malheureusement rien pour faire un semblant d'uml pour vous simplifier l'explication, voici ma vie mon oeuvre :
 
La partie Model, ce sont des classes représentant mes objets métier, c'est tout à fait basique, je reviens pas dessus.
La partie View, c'est du Smarty.
La partie Control est séparée en deux : FrontControler et PageControler.
 
D'un point de vue plus fonctionnel, mon appli dans l'ensemble est séparée en deux : Plateforme, Application.
 
Le FrontControler (Plateforme) est un fichier index.php qui charge les différentes classes de la Plateforme (logs, layer BDD, etc), lit le fichier de config, et instancie les PageControlers demandés (en fonction de la config).
 
Chaque PageControler dépend d'une classe mère commune qui implémente un comportement par défaut.
L'implémentation d'un PageControler se fait en 3 temps:
-> constructeur : récupération des paramètres, depuis cookie, get, post, fichier de config
-> méthode process() : récupération et traitement des données, généralement des appels aux classes du Model, tous les traitements BDD sont faits à ce stade
-> méthode get_content() : génération de la vue à grands coups de Smarty.
 
Ca tourne pas mal pour le moment et couvre tous les cas de figure.
Par contre, j'ai crée quelques PageControlers côté Plateforme, notamment un qui m'affiche un fichier html contenu dans le répertoire idoine (avec les protections qui vont bien pour éviter qu'un malin se ballade dans mes répertoires), juste histoire d'éviter de code un PageControler qui se contente d'afficher un fichier HTML.
 
La partie plateforme c'est du fait main, avec les limitations que ça impose, mais avec un peu de temps je pourrais passer la majeure partie de la chose sous PEAR.
 
Voili voilo :)


Message édité par KrisCool le 17-10-2005 à 14:46:22

---------------
Loose Change Lies | Bars | Last.fm
n°1224609
FlorentG
Unité de Masse
Posté le 17-10-2005 à 14:50:10  profilanswer
 

Ah ben voilà quelque chose qui m'a l'air pas mal [:dawa]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  ..  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