Afin de séparer la logique PHP du HTML, je veux faire un systeme de template
tout con (ne me parlez
pas de Smarty et autres, ca n'est pas ce que je recherche)
Pour la discussion, je fais simple, donc prenons un template :
Le probleme c'est que si je fais un truc comme ca, je perds la portée de mes
variables, il faudrait donc que je fasse un retour de mes variables sous
forme d'un array peut etre, c'est la que ca peche un peu pour moi et je ne
veux pas mettre des "global" partout.
Que me conseillez vous ? Une petite classe ? Si oui, de quelle facon afin
que cela reste extremement simple ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
CrazyCat
Christophe, elitemediacompany.com wrote:
Le probleme c'est que si je fais un truc comme ca, je perds la portée de mes variables, il faudrait donc que je fasse un retour de mes variables sous forme d'un array peut etre, c'est la que ca peche un peu pour moi et je ne veux pas mettre des "global" partout. Que me conseillez vous ? Une petite classe ? Si oui, de quelle facon afin que cela reste extremement simple ?
J'avoue qu'à ta place, j'aurais utilisé une (ou plusieurs) classes. Ce qui donnerait: <? $user = new user(); $user->add_info("Dupont", "jean"); $user->add_msg("bonjour"); include "template"; ?>
et dans ton template, fonctionne en appelant $user->nom, $user->prenom, $user->message
-- Astuces informatiques: http://www.crazycat.info Tchattez en liberté: http://www.crazy-irc.net
Christophe, elitemediacompany.com wrote:
Le probleme c'est que si je fais un truc comme ca, je perds la portée de mes
variables, il faudrait donc que je fasse un retour de mes variables sous
forme d'un array peut etre, c'est la que ca peche un peu pour moi et je ne
veux pas mettre des "global" partout.
Que me conseillez vous ? Une petite classe ? Si oui, de quelle facon afin
que cela reste extremement simple ?
J'avoue qu'à ta place, j'aurais utilisé une (ou plusieurs) classes.
Ce qui donnerait:
<?
$user = new user();
$user->add_info("Dupont", "jean");
$user->add_msg("bonjour");
include "template";
?>
et dans ton template, fonctionne en appelant $user->nom, $user->prenom,
$user->message
--
Astuces informatiques: http://www.crazycat.info
Tchattez en liberté: http://www.crazy-irc.net
Le probleme c'est que si je fais un truc comme ca, je perds la portée de mes variables, il faudrait donc que je fasse un retour de mes variables sous forme d'un array peut etre, c'est la que ca peche un peu pour moi et je ne veux pas mettre des "global" partout. Que me conseillez vous ? Une petite classe ? Si oui, de quelle facon afin que cela reste extremement simple ?
J'avoue qu'à ta place, j'aurais utilisé une (ou plusieurs) classes. Ce qui donnerait: <? $user = new user(); $user->add_info("Dupont", "jean"); $user->add_msg("bonjour"); include "template"; ?>
et dans ton template, fonctionne en appelant $user->nom, $user->prenom, $user->message
-- Astuces informatiques: http://www.crazycat.info Tchattez en liberté: http://www.crazy-irc.net
stefen76
Salut, Ta proposition m'intéresse, aurais-tu un exemple complet. Merci.
Salut,
Ta proposition m'intéresse, aurais-tu un exemple complet.
Merci.
Salut, Ta proposition m'intéresse, aurais-tu un exemple complet. Merci.
CrazyCat
stefen76 wrote:
Salut, Ta proposition m'intéresse, aurais-tu un exemple complet.
heu non, je n'ai pas d'exemple sous la main, et quand bien même j'en aurais un il ne serait pas adapté à ton utilisation.
Si tu n'as jamais utilisé de classes en php, il y a de très bonnes références sur le web, et le fonctionnement est relativement simple.
Grosso-modo, il te faut une fonction d'initialisation (constructeur) et ensuite des fonctions pour tes différents traitements. Si on reprend mon exemple, tu vas avoir: <? class user { $nom = ''; $prenom = ''; $message = ''; function user($nom,$prenom) { // constructeur $this->nom = $nom; $this->prenom = $prenom; } function add_info($nom,$prenom) { // on pourrait se passer de celle la $this->user($nom,$prenom); } function add_msg($message) { $this->message = htmlentities($message); } } ?>
-- Astuces informatiques: http://www.crazycat.info Tchattez en liberté: http://www.crazy-irc.net
stefen76 wrote:
Salut,
Ta proposition m'intéresse, aurais-tu un exemple complet.
heu non, je n'ai pas d'exemple sous la main, et quand bien même j'en
aurais un il ne serait pas adapté à ton utilisation.
Si tu n'as jamais utilisé de classes en php, il y a de très bonnes
références sur le web, et le fonctionnement est relativement simple.
Grosso-modo, il te faut une fonction d'initialisation (constructeur) et
ensuite des fonctions pour tes différents traitements.
Si on reprend mon exemple, tu vas avoir:
<?
class user {
$nom = '';
$prenom = '';
$message = '';
function user($nom,$prenom) {
// constructeur
$this->nom = $nom;
$this->prenom = $prenom;
}
function add_info($nom,$prenom) {
// on pourrait se passer de celle la
$this->user($nom,$prenom);
}
function add_msg($message) {
$this->message = htmlentities($message);
}
}
?>
--
Astuces informatiques: http://www.crazycat.info
Tchattez en liberté: http://www.crazy-irc.net
Salut, Ta proposition m'intéresse, aurais-tu un exemple complet.
heu non, je n'ai pas d'exemple sous la main, et quand bien même j'en aurais un il ne serait pas adapté à ton utilisation.
Si tu n'as jamais utilisé de classes en php, il y a de très bonnes références sur le web, et le fonctionnement est relativement simple.
Grosso-modo, il te faut une fonction d'initialisation (constructeur) et ensuite des fonctions pour tes différents traitements. Si on reprend mon exemple, tu vas avoir: <? class user { $nom = ''; $prenom = ''; $message = ''; function user($nom,$prenom) { // constructeur $this->nom = $nom; $this->prenom = $prenom; } function add_info($nom,$prenom) { // on pourrait se passer de celle la $this->user($nom,$prenom); } function add_msg($message) { $this->message = htmlentities($message); } } ?>
-- Astuces informatiques: http://www.crazycat.info Tchattez en liberté: http://www.crazy-irc.net
Christophe, elitemediacompany.com
J'avoue qu'à ta place, j'aurais utilisé une (ou plusieurs) classes. Ce qui donnerait: <? $user = new user(); $user->add_info("Dupont", "jean"); $user->add_msg("bonjour"); include "template"; ?>
et dans ton template, fonctionne en appelant $user->nom, $user->prenom, $user->message
Ok, ca marche pas mal comme ca, et pas besoin de Smarty et autres, ca marche tout aussi bien !
Merci
Christophe
J'avoue qu'à ta place, j'aurais utilisé une (ou plusieurs) classes.
Ce qui donnerait:
<?
$user = new user();
$user->add_info("Dupont", "jean");
$user->add_msg("bonjour");
include "template";
?>
et dans ton template, fonctionne en appelant $user->nom, $user->prenom,
$user->message
Ok, ca marche pas mal comme ca, et pas besoin de Smarty et autres, ca marche
tout aussi bien !
J'avoue qu'à ta place, j'aurais utilisé une (ou plusieurs) classes. Ce qui donnerait: <? $user = new user(); $user->add_info("Dupont", "jean"); $user->add_msg("bonjour"); include "template"; ?>
et dans ton template, fonctionne en appelant $user->nom, $user->prenom, $user->message
Ok, ca marche pas mal comme ca, et pas besoin de Smarty et autres, ca marche tout aussi bien !