Php 2-tier,3-tier?

Salut,

J’ai un site en php et je voudrai le mettre à jour car en relisant les .php c’est vraimment trop cochon.

Ex:

[code]<?php
include “sniffer.php”;

[…]
$snif = new sniffer();
?>

Titre [...] <?php /* Supplement couleur pour IE ..*/ if ($snif->browser == 'IE'){ echo " [...] [/code]

Ce que je voudrai c’est séparer la partie cliente :html, javascript (oui saymal je sais) de la partie serveur. (php)
Parceque ca devient impossible à lire les echo mélangés avec du html au mileu du php.

Peut-etre avec PHP objet?
Je commence à regarder PEAR mais la doc est légérement indigeste, et la traduction en fr horrible. De plus je ne suis pas sur de pouvoir l’installer a distance (g qu’un acces http+ftp) Je debute…

Toutes vos idées m’interessent!!

Merci

Tu as essayé de le passer par un editeur ou ide un peu sophistiqué graphiquement, avec analyse syntaxique du html et du php, qui te permette de visualiser ton code en bloc, et de faire manuellement, mais rapidement du rangement ?

oué bluefish.
Je pourrai essayé dreamweaver dans wine

Nan je deconne.

Oui c’est déja une grande avancée par rapport à vi.

Parceque tu pensais à parser le tout et le reecrire automatiquement ?
L’automatisation totale me semble difficile.

Oui c’est clair l’automatisation est impossible. Non non je cherche pas à faire ca.

Juste des idées pour avoir un code php propre. J’ai un ami qui utilise pear et ces pages php sont nickels.

Je voudrai deja migrer les pages que je trouve les plus confuses.

En meme temps, mon site est petit : 8 pages php, 1400 lignes. Deja tres optimisé en utilisant le css (ca a pas été évident le css…)

bon, ben pas d’autre idée.

Essaye d’utiliser au max des classes et autres pour permettre de réduire le php dans tes pages au minimum. Il restera des morceaux de php dans ton html mais déjà moins.

Ce que tu peux faire aussi c’est stocker toute ta page dans une variable faire tes opérations php et ensuite afficher tous ca avec un echo ce qui ne donnerais que du php sur ta page.

Pour le moment pas d’autres idées mais si j’en retrouve je fournis :slightly_smiling:

Et pense aussi à utiliser des fonctions, que tu mettras dans une autre page php, laquelle tu peux inclure avec un include. Ca devrait rendre le code plus propre en évitant les répétitions et en le rendant plus lisible.
Et comme le dit Ash, dans ces fonctions, tu peux utiliser les echos pour, par exemple, faire une page HTML, genre fonction head() -> echo " etc ".

Cool merci.
Alors en fait je crois que je vais abandonner l’idée d’utiliser PEAR meme si ca a l’air tres tres bien mais j’ai pas assez de temps (fo que le site soit mis à jour pr demain midi… la galère) et il faut aussi que je connecte le site à une base mysql. Ainsi que faire un frontal php à la phpmyadmin pour que le client puisse rajouter des éléments dans la base sans avoir a cliquer partout.

  • Le coup des fonctions oui c’est déja plus ou moins fait.

  • Le coup de la méga variable j’en avais déja entendu parler mais je vois pas trop en pratique? Il faut travailler à fond avec les opérations sur les chaines alors?
    Ah je viens de comprendre :slightly_smiling:

[code]var mapage=“SuperSite<><>[…]”;

my_balise_replace(“balise1”, “Bienvenu sul super site de boris”);

if sniff.IE then my_balise_replace(“balise2”,“Désolé vous devez utiliser un vrai browser, aurevoir”)
else my_balise_replace(“balise2”,“Le top du top des sites web made in france”);
[…]

echo $mapage
[/code]
C’est pas con ca!! :slightly_smiling:

  • Le coup des classes ca me tente bien. Ce soir un pote est censé me donner l’exemple de son site tout en classe car je me sens pas trop de faire la conception objet (vu que lui c’etait basé sur un site pro). En attendant je vais faire la connection avec mysql.

Merci les gars, ca m’aide bien.

Bon… minuit et demi faudrait ptet que je m’y mette … j’ai rdv demain midi…
nuit de folie encore raaah

Dans un sens les 2 tiers/ 3tier ou objet ca ameliore la securite. Pour injecter une erreur et par exemple afficher toute la base sur une page web, c’est quand meme plus dur.

class monUser(param) a partir du moment ou l’objet est cree, on ne peut plus l’influencer.
monUser.affichePassword