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

 


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

Model View Controller (MVC) - Architecture des applications PHP

n°1436803
nycius
Ich liebe dich !
Posté le 05-09-2006 à 14:37:17  profilanswer
 

Reprise du message précédent :
La gestion de 3 couches bien distinctes est tres bien, seulement on peut tres bien le faire via des fonctions plutot que des classes ?

mood
Publicité
Posté le 05-09-2006 à 14:37:17  profilanswer
 

n°1436833
masklinn
í dag viðrar vel til loftárása
Posté le 05-09-2006 à 15:14:26  profilanswer
 

FlorentG a écrit :

Ca je sais pas encore :D Mais à priori faut une classe quelque part qui puisse fournir des connexion à la demande


Ben ça fait partie des helpers du modèle ça, le modèle est l'interface entre l'appli et la donnée métier "brute" [:spamafote]  
 
Et tu peux aussi avoir une connection pool persistante dans laquelle ton module tape pour récupérer ses données (via une request queue toussa)

nycius a écrit :

La gestion de 3 couches bien distinctes est tres bien, seulement on peut tres bien le faire via des fonctions plutot que des classes ?


Ben oui, mais si t'as pas de modules ou de trucs comme ça c'est moisi à gérer quoi


---------------
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°1436839
nycius
Ich liebe dich !
Posté le 05-09-2006 à 15:19:10  profilanswer
 

masklinn a écrit :

Ben ça fait partie des helpers du modèle ça, le modèle est l'interface entre l'appli et la donnée métier "brute" [:spamafote]  
 
Et tu peux aussi avoir une connection pool persistante dans laquelle ton module tape pour récupérer ses données (via une request queue toussa)
 
Ben oui, mais si t'as pas de modules ou de trucs comme ça c'est moisi à gérer quoi


 
Yes, perso j'ai des modules via des fonctions et je bosse qu'avec ses fonctions donc c'est presque identique aux class etc, si je modifie une fonction ca changera partout etc etc, je m'y retrouve tres rapidement comme ca.
 
 
avez vous senti un gain de perf ou autre sinon à travailler comme ca ?

n°1436848
masklinn
í dag viðrar vel til loftárása
Posté le 05-09-2006 à 15:27:04  profilanswer
 

nycius a écrit :

Yes, perso j'ai des modules via des fonctions


Non je parle de vrais modules 'physique', comme des objets ne contenant que des méthodes quoi

nycius a écrit :

avez vous senti un gain de perf ou autre sinon à travailler comme ca ?


Il y en a très rarement "directement", parce que tu ajoutes des couches d'indirection.
 
Les gain d'un MVC se trouvent à d'autres endroits:

  • Extension de l'application, si les zones sont découplées tu peux en étendre une sans nécessairement avoir besoin de modifier les autres, et tu peux décider ou non d'exposer des fonctionalités tout en gardant la possibilité de le faire facilement par la suite
  • De même le découplage et la modularisation permet de faciliter les tests (e.g. Ruby on Rails qui intègre des suites de tests unitaires & fonctionnels directement dans le framework, lançables en une commande), et ne demandent pas nécessairement de comprendre toute l'application pour pouvoir te lancer dedans
  • Ajout de modules, ça fait partie de l'extensibilité mais je l'ajoute, c'est ça qui faisait l'une des grandes forces des Environnements smalltalk de la grande époque: si tu voulais ajouter quelque chose dans l'environnement (des menus, des fonctions, ...) il était relativement aisé de le faire
  • Réutilisation, par exemple ton modèle étant une couche à part tu peux utiliser le même modèle pour une application web et pour une appli desktop et pour...
  • Dans la mesure où tout est modulaire, tu peux aussi mettre en place des cachings et autres entre les différentes couches, et donc gagner des perfs là dessus


---------------
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°1436859
nycius
Ich liebe dich !
Posté le 05-09-2006 à 15:40:47  profilanswer
 

masklinn a écrit :

Non je parle de vrais modules 'physique', comme des objets ne contenant que des méthodes quoi


 
Ce que tu appeles des modules c'est des class ?

n°1436862
masklinn
í dag viðrar vel til loftárása
Posté le 05-09-2006 à 15:44:11  profilanswer
 

non. Ce peuvent en être, mais dans la plupart des langages il y a un objet "module" à part entière pouvant contenir aussi bien des fonctions (dans les langages fonctionnels et multiparadigmes) que des objects (dans les langages OO ou -- là encore -- multiparadigmes).
 
Ils sont parfois appelés "packages".
 
Par exemple: Java, C# ont des packages; Ruby, Python, Erlang, Haskell ont des modules.
 
Ce sont "simplement" des supports de séparation logique et de création de namespaces (par exemple en Python si je veux accéder à la fonction "bar" dans le module "foo", j'appelle "foo.bar()" )


Message édité par masklinn le 05-09-2006 à 15:46:57

---------------
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°1436865
nycius
Ich liebe dich !
Posté le 05-09-2006 à 15:47:49  profilanswer
 

Ok.
 
Ca dépasse mes connaissances tout ca :)

n°1436876
nycius
Ich liebe dich !
Posté le 05-09-2006 à 15:57:39  profilanswer
 

> FlorentG ou Masklinn
Pourriez mettre un ptit code simulant une inscription de membre dans une base SQL pour bien voir comment ca s'articule cette gestion de 3 couches ?

n°1437403
chani_t
From Dune
Posté le 06-09-2006 à 10:19:01  profilanswer
 

11 pages plus tard.... aprés des sueurs froides, et des recherches multiples sur notre amis google..
 
Bon alors les 3 couches si j'ais bien compris, je les organiserais comme ça :
 
Model :
 - Accés aux bdd
 - Génération et/ou utilisation des requêtes
 - récupération des données sûres et enregistrements / traitement
 - Renvois des données à view.
 
View :
 - génération des pages (en html, ou xml) à partir des données renvoyées par Model
 - présentation (à partir de template par exemple)
 
Controller :
 - gestion des vérifications basiques sur les champs (champs vide/mal informés)
 - passage des données sûres au modéle
 
Il est vrai que même si l'idée semblent bien définie, la réalisation quand à elle se heurte à des questions trés pragmatique.

n°1437463
Djebel1
Nul professionnel
Posté le 06-09-2006 à 10:54:24  profilanswer
 

pour la vérification des champs y a débat, ça peut en effet être fait dans le controller, mais ça peut aussi être fait dans le model, l'essentiel est que le model ne sache pas d'où lui viennent les données.

mood
Publicité
Posté le 06-09-2006 à 10:54:24  profilanswer
 

n°1437483
FlorentG
Posté le 06-09-2006 à 11:30:23  profilanswer
 

Ouais, je met aussi la vérif dans le model. Il est aussi vrai de ne pas trop théoriser sur la chose, le mieux et de développer une appli complète, ou d'en refactoriser une, histoire de voir vraiment les besoins, et les solution dispos

n°1453068
c0wb0y
:d
Posté le 05-10-2006 à 20:22:00  profilanswer
 

Bonsoir :)
 
Je suis actuellement en phase de développement d'un p'tit site web. A la base j'avais prévu de le coder le plus simplement du monde, c'est à dire comme un porc (comme 92.3% des autres sites web :D ) étant donné que mon "client" veut au final quelque chose de simple.
 
Finalement, comme ça me plaisait pas, j'ai inclu petit à petit différentes couche dans mon appli, et j'en suis arrivé finalement à implémenter un modèle MVC. J'ai déjà lu plusieurs document sur ce sujet donc j'vois à peu pres le principe, mais j'ai pas envie de faire une architecture très poussée (je me limite à implémenter ce dont j'ai besoin, ce qui limite les couches d'abstractions nécessaire).
 
Architecture en cours :  
 
index.php qui se contente d'instancier un FrontController et de l'éxécuter.
 
Le FrontController récupère l'action demandée par le visiteur, et instancie un nouveau controller dédié (PageController dans vos termes). Là dessus il y aura des actions possible (lister, ajouter, les classiques quoi).
 
La vue passera par Smarty normalement/
 
Le Modèle ... yen a pas encore :] Il y aura surement quelques objets classiques (news, personne...). Au niveau du remplissage des objets, j'ai pas encore décidé comment faire, je ne me suis pas encore décidé quand à l'utilisation d'une bdd.
 
 
Pour l'instant je travaille plutot sur la partie navigation, donc les controllers. Pour l'instant j'ai un super switch() dans mon FrontController, ça fait son job, mais niveau évolutivité c'est moyen, vu que pour l'instant j'dois donc ajouter les cas à la main. J'avais pensé à faire un test avec la fonction class_exists() avec autoload() sur false mais le comportement n'est pas génial. Si la classe demandée n'existe pas, autoload me balance une erreur. J'avais pensé à tester à coup de file_exists() pour vérifier que le controller demandé existe ? Et dans ce cas l'instancier automatiqement.
 
Un p'tit pseudo code :

Code :
  1. $action = jerécupèrelaction($_GET['action']);
  2. $className = $action.'class.php';
  3. if(file_exists(CONTROLLER_PATH.$className)){
  4. $ctrl = new $className();
  5. }else{
  6. $ctrl = new ErrorController('La page demandee n'existe pas');
  7. }


 
Ca vous semble sérieux comme procédure ? Le test se fait sur le système de fichier local (CONTROLLER_PATH = 'w:/var/www/gnagna/blabla/controllers/') donc à priori je pense pas qu'on pourrait envisager une attaque de ce coté ? Mais peut-être que certainnes notions m'echappe, la sécurité et moi ne sommes pas très familier :)
 
 
J'ai une autre intérrogation, au niveau du passage des valeurs entre mon modèle à mon template smarty (à coup de $smarty->assign('param', 'value'); Il faut créer une classe dédié c'est ça ?
 
quelque chose de ce genre :  
 

Code :
  1. class UserView {
  2. private $user;
  3. private $template;
  4. function __construct($model){
  5. $user = $model;
  6. $template = $chemin_vers_mon_template_smarty;
  7. }
  8. function render(){
  9. $smarty = new Smarty();
  10. //assigner les paramètres
  11. $smarty->assign(...);
  12. $smarty->display($template);
  13. }
  14. }


 
Ca vous semble correct ?
 
C'est donc dans le controller, avant d'instancier la vue, qu'il faut aller chercher les données pour construire le modèle ?
 
Merci de votre aide :)


Message édité par c0wb0y le 05-10-2006 à 20:22:26
n°1453356
Djebel1
Nul professionnel
Posté le 06-10-2006 à 13:46:35  profilanswer
 

Citation :

Ca vous semble sérieux comme procédure ? Le test se fait sur le système de fichier local (CONTROLLER_PATH = 'w:/var/www/gnagna/blabla/controllers/') donc à priori Je pense pas qu'on pourrait envisager une attaque de ce coté ? Mais peut-être que certainnes notions m'echappe, la sécurité et moi ne sommes pas très familier :)


Ca pose pas de problème, à la condition que tu fasses bien attention aux droits d'accès et à ce que tu mets dans le répertoire en question. Par exemple, imagine que tu mettes dedans une classe qui sert à purger un forum, parce que toi tu l'appelles d'ailleurs manuellement, ça pourrait faire très mal (oui ok c'est tiré par les cheveux mais bon).
 
Il faut aussi que tu filtres bien la variable get, par exemple pour pas avoir des \ ou autre trucs qui pourraient changer le répertoire que tu vises.
 
Pour ta classe Userview ça semble correct.
 

Citation :

C'est donc dans le controller, avant d'instancier la vue, qu'il faut aller chercher les données pour construire le modèle ?


non, c'est le model qui gère les données. Le controller, il regarde ce qu'a demandé l'utilisateur. Il instancie en conséquence la classe du model qu'il faut, et lance l'action qu'il faut. A partir de là le model se démmerde et fait sa tambouille. Ensuite le controller instancie la vue qu'il faut et transmet le model à la vue. La vue sait comment récupérer les données générées par le model, et les affiche.
 
Par contre, si tu parles des données entrées par l'utilisateur, alors oui c'est bien le controller qui les transmet au model. Le model ne doit JAMAIS savoir d'où lui viennent les données, en fait, il ne doit jamais savoir qu'il fait parti d'un MVC.

n°1453500
Berceker U​nited
PSN : berceker_united
Posté le 06-10-2006 à 16:41:46  profilanswer
 

smarty berk !... :kaola:

n°1453610
c0wb0y
:d
Posté le 06-10-2006 à 18:35:06  profilanswer
 

J'ai pas envie de me galérer avec DOM, surtout qu'a part un rendu en (x)html, j'ai rien à faire sur mes données. Smarty sera donc plus efficace, surtout avec son système de cache.
 
Merci Djebel1 pour tes explications, j'pense avoir compris :)
 
 
edit : Pour le filtrage de la variable GET, en général je passe un coup de  

Code :
  1. addslashes(htmlentities($_GET['blabla']))


 
C'est suffisant comme protection ?

Message cité 1 fois
Message édité par c0wb0y le 06-10-2006 à 19:08:01
n°1453655
masklinn
í dag viðrar vel til loftárása
Posté le 06-10-2006 à 22:35:03  profilanswer
 

addslashes = khäkhä.
 
Il faut utiliser les fonctions d'escape spécifiques à ta BDD, si tu utilises MySQL c'est mysql_real_escape_string (parce que mysql_escape_string c'est pas la vraie)

Message cité 2 fois
Message édité par masklinn le 06-10-2006 à 22:39:40
n°1453673
c0wb0y
:d
Posté le 07-10-2006 à 00:11:12  profilanswer
 

Ah, c'est pas cool ça (:
 
Surtout que j'sais pas encore si j'me servirai d'une bdd ou pas, et au cas ou j'en utiliserai une, je passerai peut-être par PDO.
 
Faudra que j'vois ce que je peux faire à ce sujet :/

n°1453996
Berceker U​nited
PSN : berceker_united
Posté le 08-10-2006 à 20:45:27  profilanswer
 

masklinn a écrit :

addslashes = khäkhä.
 
Il faut utiliser les fonctions d'escape spécifiques à ta BDD, si tu utilises MySQL c'est mysql_real_escape_string (parce que mysql_escape_string c'est pas la vraie)


Ha bon ? ils nous auraient menti :D

n°1454204
supermofo
Hello World !
Posté le 09-10-2006 à 12:19:11  profilanswer
 

nargy a écrit :

Citation :


pourtant la (relative) expérience que j'ai du développement d'applis web m'a tout de même conduit à conclure que je faisais souvent la même chose, même pour des formulaires et des CSS.


Et c'est dommage. Si tu est toi même blasé, comment fera-tu pour retenir l'attention de l'internaute, pour le faire rester plus longtemps sur tes sites?

Citation :


Sauf que la partie la plus longue du développement d'un formulaire, c'est sûrement pas de créer 3 inputs et un select, c'est de les positionner dans la page et de créer toute la partie de validation (serveur & client), et rien que la spécification exacte de la validation du formulaire demande largement plus de "un seul clic"


Exact, et celà rejoint ce que je dis plus haut: 30 formulaires identiques c'est bien, 30 formulaires interactifs, au sens où chaque formulaire a été pensé pour simplifier l'utilisation du site et le rendre attractif donc possèdant des caractéristiques propres non factorisables, c'est mieux.

Citation :


Tu dis quetu as déjà essayé, quels problèmes as tu rencontré?


Je te l'ai déjà dit: au résultat tu as un code à la limite du maintenable. Si tu as à revenir sur ton application, je suis sûr que tu aura des difficultés toi même à le modifier. La solution étant de faire une tonne de doc, ce qui te fera perdre du temps.
 
Coder dans les normes, de façon <<standard>>, permet d'éviter ce genre d'inconvénients.
 
Encore une fois, imagine que quelqu'un ai à reprendre ton appli (tu est en vacances, tu a changé de bouleau, tu t'occupe d'autres projets de plus grande envergure etc...). En combien de temps un novice peut-il raisonnablement maîtriser le système?
 
La dernière fois que ça m'est arrive, de devoir reprendre un code ... disons tout crade ... et bien même si j'avais la doc complète il était plus facile pour moi de recommencer à zéro la librairie plutôt que de la modifier pour de nouveaux besoins.


 
 
 
J'envisage de passer en MVC pour ces raisons :
 
- réutilisation du code . Exemple concret pour faire un formulaire j'ai du recherche plus de 3 heures les fonctions de filtrage dont j'avais besoin parmi les quelques centaines de milliers de code de fonctions existantes.  
Au lieu de faire un  filtrage specialisé par site, autant faire une bonne grosse classe de filtrage qui pourra gérer n'importe quoi en entrée et en sortie.
- l'organisation fixe et j'insiste sur fixe lors de la création d'une app.  

Code :
  1. /app
  2. /tpl
  3. /app/config
  4. /app/lib
  5. ...


 
 
- Plus possible de recommencer à zéro pour chaque nouvelle App ou fonction.  :fou:  
 
- L abstraction est un concept tout simplement magnifique  
 
Je dois avouer que mon niveau pitoyable en OO a été la raison qui m'a fait mettre de coté cette méthode de travail.  
 
Voila

n°1454218
Djebel1
Nul professionnel
Posté le 09-10-2006 à 12:46:11  profilanswer
 

c0wb0y a écrit :


edit : Pour le filtrage de la variable GET, en général je passe un coup de  

Code :
  1. addslashes(htmlentities($_GET['blabla']))


 
C'est suffisant comme protection ?


 

masklinn a écrit :

addslashes = khäkhä.
 
Il faut utiliser les fonctions d'escape spécifiques à ta BDD, si tu utilises MySQL c'est mysql_real_escape_string (parce que mysql_escape_string c'est pas la vraie)


 
mais là c'est pas pour une bdd, c'est juste pour vérifier qu'un fichier existe. addslashes va pas forcément convenir, par exemple si l'utilisateur balance un .. il va changer le répertoire dans lequel regarder, ce qui peut éventuellement poser problème selon la structure de tes répertoires.

Message cité 1 fois
Message édité par Djebel1 le 09-10-2006 à 12:46:34
n°1454250
pouet le c​amion
Posté le 09-10-2006 à 13:48:05  profilanswer
 

Salut tous.
Certains ont-ils essayé le zend framework (0.5 à ce jour)?
J'ai un peu de mal à piger comment chaque partie interagit avec les autres, mais question propreté, ça a l'air pas mal du tout.
en tous cas, c'est bien implémenté en MVC.

n°1454267
omega2
Posté le 09-10-2006 à 14:04:01  profilanswer
 

J'ai essayé d'utiliser le zend framework.
En fait, dans leur systéme, t'as une partie centrale qui gére quelques fonctionalités de bases comme l'inclusion (semi-?)automatique des fichiers en fonction de la classe à inclure et des parties indépendantes les une des autres. Dans chaque partie indépendante, t'as une ou plusieurs couches ce qui permet d'avoir une certaine abstraction dans l'implémentation.
 
Actuellement, quasiment tout est incomplet dans le zend framework, ce qui fait que ca ne marche parfois pas à cause d'une fonction ou une classe manquante. Ca n'est donc pas toujours à cause d'une incompréhension de leur code.
 
Personellement, j'ai eu du mal à m'y mettre moi aussi, mais c'est surtout qu'ils utilisent des notions de programmation qu'on ne voit que trés rarement sur un projet grand public. Il faut un peu de temps pour s'y faire, mais aprés ca marche bien.
 
Au fait, le zend framework n'est pas en 0.5 mais en 0.1.5 . Ca n'est donc même pas une préalpha vu tout ce qui leur reste à faire avant d'obtenir une version 1.x.

n°1454281
pouet le c​amion
Posté le 09-10-2006 à 14:18:39  profilanswer
 

Ok, merci.
Ben je crois qu'il va falloir attendre quelque peu pour avoir un bon framework objet en PHP5 alors...
Merci de ta réponse omega2.
Mmmmh, pour info, STRUTS, c'est des notions de programmation grand public pour toi ?

n°1454286
omega2
Posté le 09-10-2006 à 14:23:49  profilanswer
 

STRUTS ? J'en sais rien, j'ai jamais réussit à m'y mettre.
Il faut dire, j'ai jamais eu besoin de m'y mettre et le peu de motivation que j'ai eu pour le regarder à fondu comme neige vu la vitesse à laquelle je me suis sentis perdu devant ce monstre.


Message édité par omega2 le 09-10-2006 à 14:24:20
n°1454313
masklinn
í dag viðrar vel til loftárása
Posté le 09-10-2006 à 14:42:29  profilanswer
 

Djebel1 a écrit :

mais là c'est pas pour une bdd, c'est juste pour vérifier qu'un fichier existe


Ben dans ce cas tu n'escape pas [:pingouino]
 
Enfin pas de cette manière quoi [:pingouino]

n°1454361
Djebel1
Nul professionnel
Posté le 09-10-2006 à 15:06:47  profilanswer
 

bah c'est bien ce que je dis, de pas utiliser mysql_real_escape_string ;)

n°1454435
masklinn
í dag viðrar vel til loftárása
Posté le 09-10-2006 à 16:01:48  profilanswer
 

Djebel1 a écrit :

bah c'est bien ce que je dis, de pas utiliser mysql_real_escape_string ;)


Ne pas utiliser escape() non plus, c'est pour les BDDs (et accessoirement ça ne marche pas, mais vu que c'est PHP hein)

n°1454621
gizmo
Posté le 09-10-2006 à 23:06:02  profilanswer
 

pouet le camion a écrit :

Ok, merci.
Ben je crois qu'il va falloir attendre quelque peu pour avoir un bon framework objet en PHP5 alors...
Merci de ta réponse omega2.
Mmmmh, pour info, STRUTS, c'est des notions de programmation grand public pour toi ?


Struts c'est juste pour rire, c'est pas un vrai framework. C'est un fake, mais beaucoup tombent dedans (dont mon boss [:sisicaivrai] )

n°1455317
pouet le c​amion
Posté le 11-10-2006 à 11:27:42  profilanswer
 

gizmo a écrit :

Struts c'est juste pour rire, c'est pas un vrai framework. C'est un fake, mais beaucoup tombent dedans (dont mon boss [:sisicaivrai] )


Ah, merci, enfin un qui pense comme moi.
Enfin, ça fait très pro de dire à un client que tes applis obéissent à STRUTS.
C'est encoooore du marketting.
:)

n°1455729
supermofo
Hello World !
Posté le 11-10-2006 à 18:33:12  profilanswer
 


Quel bouquins recommandez vous ?

n°1457319
MS-DOS_199​1
www.newbie-project.net
Posté le 14-10-2006 à 22:52:42  profilanswer
 

[:drapo]
 
Je vais plus ou moins faire un MVC pour mon Newbie-Forum :love:  :love:


---------------
Viendez sur le Newbie-Project et essayez le Newbie-Directory (nouveau)
n°1463053
gnarkk
Posté le 23-10-2006 à 14:43:06  profilanswer
 

Bonjour à tous,
 
Voilà quelques heures que je me documente à propos de l'architecture MVC et tout cela reste assez complexe dans mon esprit.
 
Pour l'histoire, je viens d'être embauché dans une petite web agency en temps que développeur PHP. Devant le volume et la répétition de code que je vais devoir fournir, j'aimerai développer au maximum de façon à pouvoir réutiliser mon code. J'ai donc commencé à développer des classes "bateaux" comme par exemple une classe utilisateur avec des méthodes basiques de connexion, déconnexion, ajout/modif/suppr... ainsi qu'une classe contenant les méthodes nécessaires à toute les transactions vers la base de donnée (possibilité de changer de type de bdd par une simple variable).
 
Bref...
 
J'aimerai donc savoir si vous pensez qu'il m'est nécessaire de partir sur une architecture MVC (qui me parais pour le moment très compliqué) ou bien vers une autre (peux être en avez-vous à me conseiller) ?
Dans le cas ou MVC serait une bonne alternative, auriez vous des suggestions de lectures (online ou en livre) à me faire ?
 
Cordialement,

n°1463060
FlorentG
Posté le 23-10-2006 à 14:50:17  profilanswer
 

MVC n'est pas trop compliqué, et est une architecture assez logique vers laquelle on aboutit souvent (parfois par hasard) : d'un côté l'accès aux données, de l'autre la génération de la page, et au milieu le reste

n°1463079
gnarkk
Posté le 23-10-2006 à 15:04:38  profilanswer
 

D'après ce que j'ai compris :
 
L'accès aux données correspondrai à ma class contenant les méthodes qui gère toutes les transactions avec ma base de donnée.
Ce que tu appel "le reste" correspondrait au traitement de la page (envoi d'un email, insertion dans la base via la class d'accès aux données...)
Et la génération de la page correspondrai à l'utilisation d'un système de template.
 
Côté système de template je ne suis vraiment pas fan des moteurs comme smarty etc.... Je me suis fait un petit moteur que j'utilise pour du site plaquette mais rien de bien perfectionné.
 
Je continu à rechercher de la documentation mais malheureusement j'ai dû mal à trouver quelques choses qui me conviens.

n°1463081
FlorentG
Posté le 23-10-2006 à 15:06:03  profilanswer
 

Nan pas de système de template. PHP l'est déjà [:dawak]
 
(et on retombe sur le débat sans fin)

n°1463532
Dj YeLL
$question = $to_be || !$to_be;
Posté le 23-10-2006 à 20:59:56  profilanswer
 

Bof, j'étais assez sceptique au départ, j'ai entendu tellement de mal de Smarty, que c'est lourd et usine à gaz etc...
 
Alors je l'ai essayé, et j'ai fais un site avec ... je suis plutôt satisfait. Franchement je le trouve pas mal du tout, et assez poussé pour faire quasiment ce qu'on veut.
 
Et certains plugins sont vraiment bien.


---------------
Gamertag: CoteBlack YeLL
n°1463680
leflos5
On est ou on est pas :)
Posté le 24-10-2006 à 04:00:29  profilanswer
 

FlorentG a écrit :

Nan pas de système de template. PHP l'est déjà [:dawak]
 
(et on retombe sur le débat sans fin)


Ah bon  :ouch: Mais alors pourquoi Smarties  :??:  
 
 :D  
 
C'est l'utilisation que tu en fais qui lui confère cet aspect ;)
 
Cela dit, j'ai jamais trop aimé injecter des variables dont je suis pas sur qu'elles existent à part la sertitude que oui parce que c'est toi qui a fait la page mais sans possibilité de vérifier au cas où... (pareil si tu veux parler de méthode/propriété d'objet)

n°1463748
FlorentG
Posté le 24-10-2006 à 09:34:14  profilanswer
 

leflos5 a écrit :

C'est l'utilisation que tu en fais qui lui confère cet aspect ;)


Non, c'est un usage historique de PHP : à la fois langage côté serveur, à la fois langage de template.
 

leflos5 a écrit :

Cela dit, j'ai jamais trop aimé injecter des variables dont je suis pas sur qu'elles existent à part la sertitude que oui parce que c'est toi qui a fait la page mais sans possibilité de vérifier au cas où... (pareil si tu veux parler de méthode/propriété d'objet)


Il dit qu'il ne voit pas le rapport

n°1463861
leflos5
On est ou on est pas :)
Posté le 24-10-2006 à 11:00:35  profilanswer
 

FlorentG a écrit :

Non, c'est un usage historique de PHP : à la fois langage côté serveur, à la fois langage de template.
[/quote]
C'est juste pour chipoter: pour moi php est un "moteur de script" :d M'enfin c'est pas grave  :lol:  
 
Il dit qu'il ne voit pas le rapport


En développement informatique, il est de base de vérifier toutes les données avant de les utiliser et là si tu veux faire léger (template != gros traitement) t'es obliger d'admettre que ta donnée existe bien sans le vérifier, ça me chifonne conceptuellement  :pt1cable: C'est lié à l'esprit du template, y'a rien de méchant, mais ça me titille l'esprit :d

n°1463866
Dj YeLL
$question = $to_be || !$to_be;
Posté le 24-10-2006 à 11:01:59  profilanswer
 

leflos5 a écrit :

En développement informatique, il est de base de vérifier toutes les données avant de les utiliser et là si tu veux faire léger (template != gros traitement) t'es obliger d'admettre que ta donnée existe bien sans le vérifier, ça me chifonne conceptuellement  :pt1cable: C'est lié à l'esprit du template, y'a rien de méchant, mais ça me titille l'esprit :d


 
:??: Qu'est-ce qui empêche de le faire ?


---------------
Gamertag: CoteBlack YeLL
n°1463898
FlorentG
Posté le 24-10-2006 à 11:27:35  profilanswer
 

leflos5 a écrit :

En développement informatique, il est de base de vérifier toutes les données avant de les utiliser et là si tu veux faire léger (template != gros traitement) t'es obliger d'admettre que ta donnée existe bien sans le vérifier, ça me chifonne conceptuellement  :pt1cable: C'est lié à l'esprit du template, y'a rien de méchant, mais ça me titille l'esprit :d


En quoi ton système machin vérifie spécialement l'existence d'une variable :??:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  10  11  12  ..  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)