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

 


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

Model View Controller (MVC) - Architecture des applications PHP

n°1494779
Chaos Inte​stinal
Posté le 21-12-2006 à 11:59:07  profilanswer
 

Reprise du message précédent :
En fait, c'est un peu de l'enculage de mouche, on parlera surtout d'élégance et non de performances :o

mood
Publicité
Posté le 21-12-2006 à 11:59:07  profilanswer
 

n°1494784
masklinn
í dag viðrar vel til loftárása
Posté le 21-12-2006 à 12:05:28  profilanswer
 

Elegance + PHP = does not compute :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1494786
lachoupine​tte
Posté le 21-12-2006 à 12:10:47  profilanswer
 

masklinn a écrit :

Elegance + PHP = does not compute :o


 
Oui bon on sait que tu trouves le php pourri, mais pas la peine de pourrir pour autant le topic, revenons donc au sujet !

n°1495200
FlorentG
Posté le 22-12-2006 à 10:09:40  profilanswer
 

nORKy a écrit :

un gain de performance ? Plus on passe de paramètre à une fonction, plus on perd en perf non ?


Perdu, echo n'est pas une fonction, mais une construction de langage. Y'a cash un opcode correspondant, et un echo à plusieurs paramètres sera traduit en une suite d'ECHO

n°1495541
leflos5
On est ou on est pas :)
Posté le 22-12-2006 à 23:37:30  profilanswer
 

Chaos Intestinal a écrit :

En fait, c'est un peu de l'enculage de mouche, on parlera surtout d'élégance et non de performances :o


Si je puis me permettre de replacer le fait qu'un code optimisé dans la méthode d'écriture dès le départ ne peut que mieux tenir la route par la suite et moins fatigué le serveur quand y'a 2000 utilisateurs qui tirent dessus :o
 
A mais oui c'est vrai, suffit de rajouter une barrette de ram et/ou mettre un CPU plus puissant  :sarcastic:

n°1495586
gizmo
Posté le 23-12-2006 à 09:37:36  profilanswer
 

leflos5 a écrit :

Si je puis me permettre de replacer le fait qu'un code optimisé dans la méthode d'écriture dès le départ ne peut que mieux tenir la route par la suite et moins fatigué le serveur quand y'a 2000 utilisateurs qui tirent dessus :o
 
A mais oui c'est vrai, suffit de rajouter une barrette de ram et/ou mettre un CPU plus puissant  :sarcastic:


 
On s'en fout complètement de ce genre d'optimisation. Les compilo le font pour toi.

n°1495619
Chaos Inte​stinal
Posté le 23-12-2006 à 11:46:21  profilanswer
 

leflos5 a écrit :

Si je puis me permettre de replacer le fait qu'un code optimisé dans la méthode d'écriture dès le départ ne peut que mieux tenir la route par la suite et moins fatigué le serveur quand y'a 2000 utilisateurs qui tirent dessus :o
 
A mais oui c'est vrai, suffit de rajouter une barrette de ram et/ou mettre un CPU plus puissant  :sarcastic:


 
Nan mais dans 99,99% des cas, l'optimisation "j'ai mis des single quotes" est insignifiante par rapport à un simple algo mal fait ou une craderie quelque part.
Donc oui c'est de l'enculage de mouche. A ton avis, quand y'a 2000 utilisateurs qui tirent sur ton site, tu crois pas qu'il y a des trucs dans ton code qui sucent vachement plus de ressources qu'une pauvre interpolation de quotes à deux balles ?

n°1495631
FlorentG
Posté le 23-12-2006 à 12:55:21  profilanswer
 

gizmo a écrit :

On s'en fout complètement de ce genre d'optimisation. Les compilo le font pour toi.


Attention toutefois au compilo PHP qui ne compile qu'en une seule passe sans trop optimiser :/

n°1495632
masklinn
í dag viðrar vel til loftárása
Posté le 23-12-2006 à 12:56:51  profilanswer
 

gizmo a écrit :

On s'en fout complètement de ce genre d'optimisation. Les compilo le font pour toi.


On parle de PHP là, quand même, je rappelle [:aloy]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1495659
gizmo
Posté le 23-12-2006 à 14:38:28  profilanswer
 

FlorentG a écrit :

Attention toutefois au compilo PHP qui ne compile qu'en une seule passe sans trop optimiser :/


 
Je parle pas du compilateur de monsieur tout le monde, mais du zend optimizer.

mood
Publicité
Posté le 23-12-2006 à 14:38:28  profilanswer
 

n°1499048
CyberDenix
Posté le 04-01-2007 à 21:03:27  profilanswer
 

Je peux être bête, mais PHP ce n'est pas interprété ?

n°1499058
Chaos Inte​stinal
Posté le 04-01-2007 à 21:19:47  profilanswer
 

CyberDenix a écrit :

Je peux être bête, mais PHP ce n'est pas interprété ?


 
A la base si, mais rien n'empêche de le compiler.

n°1499207
FlorentG
Posté le 05-01-2007 à 11:10:35  profilanswer
 

CyberDenix a écrit :

Je peux être bête, mais PHP ce n'est pas interprété ?


Non, c'est bel et bien compilé, dans un langage intermédiaire. Et le problème, c'est que chaque page est recompilée à chaque fois, d'où l'interêt d'utiliser un opcode-cache qui garde la version compilée.


Message édité par FlorentG le 05-01-2007 à 11:10:41
n°1499288
gizmo
Posté le 05-01-2007 à 13:33:53  profilanswer
 

Tiens, je me pose une question... Dans la plupart des framework (CakePHP et companie), on montre comment tres simplement faire des operation CRUD et autres conneries simples avec le model MVC, mais comment cela se passe-t-il quand on doit gerer plusieurs modules dans un meme appel?
 
Exemple, j'ai une page qui affiche le contenu d'une news, le contenu des actions pour un utilisateur logge (voir ses MP, se deconnecter, changer ses prefs...) et le temps issus d'une station meteo.
 
Dans la pratique, ils parsent l'url pour trouver le controlleur principal (ici l'affichage de la news), mais ensuite, comment font-ils pour appeller les autres controlleurs, et comment gerent-ils les eventuelles clash de noms entre les variables des differents modules? J'ai beau chercher, je ne trouve pas d'exemples sur le net.

n°1499292
FlorentG
Posté le 05-01-2007 à 13:36:32  profilanswer
 

Pour ça que moi, en dehors des machins MVC, j'peux foutre de simples pages PHP normalles qui peuvent appeller d'autres Controller.
 
Genre j'ai une page accueil avec une liste de news, elle ressemble à :

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/dtd/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <head>
  4.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  <title>Accueil</title>
  6. </head>
  7. <body>
  8.  <div id="content">
  9.   <h1>Documentation Framework</h1>
  10.   <div class="news">
  11. <?php $this->context->runner->execute('news/list.html') ?>
  12.   </div>
  13.  </div>
  14. </body>
  15. </html>

n°1499367
supermofo
Hello World !
Posté le 05-01-2007 à 15:08:33  profilanswer
 

L'un d'entres vous serait si on une variable peut stocker une réference à un supertype abstrait.
 
ex:
 

Code :
  1. public interface Truc{
  2. public function FaitTruc();
  3. }
  4. public class Produit{
  5. // java : public Truc truc;
  6. //en php ?
  7. //methodes
  8. }

n°1499379
FlorentG
Posté le 05-01-2007 à 15:23:36  profilanswer
 

Oui on peut... Enfin comme on s'en fout du type. Maintenant tu peux forcer un à paramètre à être de type Truc :

Code :
  1. public function __construct(Truc $truc)
  2. {
  3.   $this->truc = $truc;
  4. }

n°1500827
Djebel1
Nul professionnel
Posté le 09-01-2007 à 16:26:28  profilanswer
 

FlorentG a écrit :

Pour ça que moi, en dehors des machins MVC, j'peux foutre de simples pages PHP normalles qui peuvent appeller d'autres Controller.
 
Genre j'ai une page accueil avec une liste de news, elle ressemble à :

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/dtd/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <head>
  4.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  <title>Accueil</title>
  6. </head>
  7. <body>
  8.  <div id="content">
  9.   <h1>Documentation Framework</h1>
  10.   <div class="news">
  11. <?php $this->context->runner->execute('news/list.html') ?>
  12.   </div>
  13.  </div>
  14. </body>
  15. </html>



Hmm j'ai mal compris, ou c'est ta vue qui appelle le controleur ?  :heink:

n°1500831
FlorentG
Posté le 09-01-2007 à 16:28:39  profilanswer
 

C'est ça la vue, le code que j'ai filé. Je fous ça dans le site, et ça roule [:dawak] Ce sont des view directes, sans Controller ni rien.
 
Ca permet de faire des trucs view-centric.
 
A la base de la base, il y a le fichier .html. On l'appelle directement et il s'affiche. Ensuite y'a la version PHP, qui permet en plus d'appeller des Controller ou de faire du tout p'tit PHP. Enfin y'a le Controller, permettant de la logique lourde.
 

n°1500858
Djebel1
Nul professionnel
Posté le 09-01-2007 à 17:18:17  profilanswer
 

je trouve pas ça top, je préfère que tout passe toujours pas le frontcontroller, même une page statique.
ça m'a déjà sauver plusieurs fois ds le développement d'appli.

n°1500861
FlorentG
Posté le 09-01-2007 à 17:19:55  profilanswer
 

Nan mais ça passe quand-même par le front controller, hein. Genre une page .html statique devra quand-même passer par le FC histoire d'être intégrée dans la page finale.

n°1500864
Chaos Inte​stinal
Posté le 09-01-2007 à 17:25:25  profilanswer
 

Si ça passe pas par le frontcontroller, je me demande d'où sort la variable $this->context [:jean-guitou]

n°1500867
FlorentG
Posté le 09-01-2007 à 17:33:46  profilanswer
 

Mais si, ça passe par le front controller.
 
En tant normal, t'as un controller qui sélectionne 2-3 trucs, instancie un modèle, etc. Ensuite la view est appellée (c'est une classe), elle choisie les données dont elle a besoin à partir du modèle et d'autres trucs. Enfin on ouvre la template.
 
Là j'ai pas de controller, pas de view, juste la template. Le Front Controller créer donc une View standard et vide, et appelle la template. Donc le $this->context fait appel à la View. Ca permet de faire vite-fait des trucs, sans avoir à créer un Controller, une View, etc.
 
Ca servirait à rien de devoir à chaque créer tout ça si c'est juste pour afficher une bête page web avec appel à un autre Controller.

n°1501388
Djebel1
Nul professionnel
Posté le 10-01-2007 à 17:05:43  profilanswer
 

moi je trouve que si, parce que par exemple, si tu dois rajouter un controle d'accès à ta bête page, tu vas devoir bidouiller, alors qu'avec ton controller qui était quasi inuile, tu te feras pas chier ^^

n°1501399
FlorentG
Posté le 10-01-2007 à 17:17:43  profilanswer
 

Nanan y'a rien à bidouiller du tout [:dawa] Plus d'infos dans quelques jours, là je fais un peu de refactoring et des tests unitaires

n°1501436
chani_t
From Dune
Posté le 10-01-2007 à 17:47:45  profilanswer
 

s'fait depuis 16 pages que tout nous promets ça :D...

n°1501437
FlorentG
Posté le 10-01-2007 à 17:48:13  profilanswer
 

Ouais [:dawak]

n°1501444
craps_youp​la
Posté le 10-01-2007 à 17:55:30  profilanswer
 

lol
 
et quand il découvrira l'IOC, il lancera un autre topic.

n°1501446
Chaos Inte​stinal
Posté le 10-01-2007 à 17:58:45  profilanswer
 

craps_youpla a écrit :

lol
 
et quand il découvrira l'IOC, il lancera un autre topic.


 
Hey maurice, retourne donc bricoler des bannières de pub fullscreen pour des sites de boules, on cause entre devs là [:dawa]

n°1501448
FlorentG
Posté le 10-01-2007 à 18:03:13  profilanswer
 

craps_youpla a écrit :

lol
 
et quand il découvrira l'IOC, il lancera un autre topic.


Nan mais t'as fini toi ? Tu m'aimes pas ou quoi :'( ? L'IOC j'en utilise déjà :o

n°1501508
-ThX-
Not here anymore
Posté le 10-01-2007 à 20:21:44  profilanswer
 

FlorentG a écrit :

Nan mais t'as fini toi ? Tu m'aimes pas ou quoi :'( ? L'IOC j'en utilise déjà :o


 
D'autant plus que j'avais jamais entendu parler de MVC et que je trouve le topic très intéressant !

n°1501527
nycius
Ich liebe dich !
Posté le 10-01-2007 à 21:06:24  profilanswer
 

Hello,
 
Désolé mais je vois toujours pas l'avantage d'utiliser ce genre de technique par rapport a un bon systeme de template qui separe html/code

n°1501535
supermofo
Hello World !
Posté le 10-01-2007 à 21:37:35  profilanswer
 

Bah système de template en soit ca sépare RIEN DU TOUT car t'es  toujours fortement dépendant ton modèle.

 

Ce qui implique qu'a un moment ou à un autre tu te retrouves avec un code hyper rigide. Donc tu recodes, recodes et recodes sans cesse en te disant : " facile j'ai dejà codé cet algo des centaines de fois ".  :hello:

 


Comme je le pensais depuis que j'ai commencé le PHP, rajouter des lignes de code pour obtenir un effet sucre est inutile.

 

Par contre mettre en place les couches Vue = presentation + comportement vaut le coup avec les nouvelles technologies.

 

Par la j'entend autogénération du code HTML et donc utilisation de la composite comme dans la définition du MVC et pas du modèle 2 simplifié. Comportement serait les technologies client ...

 

ex :

 

header = Doc type ...<head></head>
 menu = <ul><li></li>..<ul>
 cadre = <div></div>
 texte = <p></p>

 

4/5 couche de la folie vous direz. Je vous répondrais pourquoi DOM existe ...

Message cité 1 fois
Message édité par supermofo le 10-01-2007 à 21:41:32
n°1501540
masklinn
í dag viðrar vel til loftárása
Posté le 10-01-2007 à 22:09:15  profilanswer
 

supermofo a écrit :

Je vous répondrais pourquoi DOM existe ...


On se le demande encore, les explications habituellement retenues étant "pour faire marrer ceux qui ne l'utilisent pas", "pour remplir les poches des marchands de RAM", "pour éviter de perdre des cycles processeur à ne rien calculer" et "si des gens codent encore en cobol aujourd'hui, pourquoi pas le dom hein?"


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1501558
supermofo
Hello World !
Posté le 10-01-2007 à 23:03:45  profilanswer
 

Dans tous les cas jprefere deleguer les calculs d'interface au client plutot qu'au serveur.
Moi ca me plait bien ce Web 2.0

n°1501580
_synapse_
Posté le 11-01-2007 à 02:19:11  profilanswer
 

supermofo a écrit :

Dans tous les cas jprefere deleguer les calculs d'interface au client plutot qu'au serveur.
Moi ca me plait bien ce Web 2.0


 
 :lol:...
 
Désolé, j'ai pas pu me retenir :o


Message édité par _synapse_ le 11-01-2007 à 02:19:28
n°1501582
art_dupond
je suis neuneu... oui oui !!
Posté le 11-01-2007 à 03:56:08  profilanswer
 

yop,
 
c'est quoi IOC :??:
 
google me donne "International Olympic Committee" en me disant que j'ai de la chance :o


---------------
oui oui
n°1501590
chani_t
From Dune
Posté le 11-01-2007 à 08:11:26  profilanswer
 

Inversion of control design pattern implementation. (bon la je t'ais claqué un ti lien pour du php...
 
recherche un peu plus bas la prochaine fois ;)

n°1501598
FlorentG
Posté le 11-01-2007 à 09:04:08  profilanswer
 

nycius a écrit :

Hello,
 
Désolé mais je vois toujours pas l'avantage d'utiliser ce genre de technique par rapport a un bon systeme de template qui separe html/code


Le système de template entre dans le MVC, c'est la partie 'V'. Après on sépare encore tout l'accès aux données, et voilà !

n°1501647
skeye
Posté le 11-01-2007 à 11:39:15  profilanswer
 

nycius a écrit :

Hello,
 
Désolé mais je vois toujours pas l'avantage d'utiliser ce genre de technique par rapport a un bon systeme de template qui separe html/code


 
mauvaise question, un système de templates peut (doit?:o) faire partie d'un mvc.[:dawa]


---------------
Can't buy what I want because it's free -
n°1501757
FlorentG
Posté le 11-01-2007 à 15:55:22  profilanswer
 

supermofo a écrit :

Pourquoi vous voulez tous des systèmes de templates.


PHP est un système de template à la base, donc ça compte [:dawa] (de longues discussions ont été menées à ce sujet)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  15  16  17  ..  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-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)