Fork me on GitHub






INFO : code PHP très interressant
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
Salut,

En allant au weekend AFUX, lors d'une conversation j'ai fait part d'un "truc" que j'utilise pour utiliser des pages "modèles".
Voici les infos :

Pour les supers développeurs (dont je ne fais pas parti) voici une commande qui pourra en ravir plus d'un.

Cela permet de créer des modèles de pages dont les variables peuvent changer (heuun, à bien y réfléchir, c'est du smarty sans smarty, non ?)


Reprise de conversation :
Citation :
Explication :
je déclare dans un fichier language/french/global.php ceci :

define ("_RUBRIQUE_1","Ma rubrique numero 1");
define ("_RUBRIQUE_2","Ma rubrique numero 2");

dans un autre fichier affichage.php j'ai :
<?php
include (XOOPS_ROOT_PATH."/mespages/language/french/global.php");

<?php
foreach ($_GET as $cle => $valeur)
{
$$cle=$valeur;
}
echo "Titre de la rubrique : "._RUBRIQUE_."$rub </BR>";
echo "Rubrique fixe ok : "._RUBRIQUE_1."</BR>";
echo "Numero rubrique : ".$rub;
?>

Le résultat pour affichage.php?rub=2 :
Titre de la rubrique : _RUBRIQUE_2
Rubrique fixe ok : Ma rubrique numero 1
Numero rubrique : 2

En conclusion, si la variable est indiquée en dur, ça marche, si je tente de jouer sur le nom de la variable, j'ai l'affichage du nom de la variable, et pas sa valeur...

Comment puis-je obtenir la valeur de la variable et non son nom ?
Imaginons que j'ai _RUBRIQUE_9, je voudrais donc afficher la valeur de _RUBRIQUE_9 en utilisant toujours _RUBRIQUE_0."$rub

j'ai tenté :
$num=sprintf("%d",intval($_GET['rub']));
$nom="_RUBRIQUE_".$num;
$contenu=$$nom;

mais $contenu ne renvoi rien !!!
Je n'ai plus de piste...


Réponse :
Citation :
Tu dois utiliser la fonction constant() qui permet de lire la valeur
d'une constante dont le nom est dynamique:

echo "rubrique : " . constant("_RUBRIQUE_0" . $rub) . " </BR>";


Ex :
echo "<font color='#CCFFFF'>".constant($niveau."_m_2_".$saison)."</font>


je peux fournir des exemples pour ceux que ça interresse

Posté le : 21/03/2006 12:14

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: INFO : code PHP très interressant
Régulier
Inscrit: 28/10/2005 17:17
De Switzerland
Messages: 350
Salut et merci de l'info,

Dans le même ordre d'idée, on peut aussi utiliser des variables dynamiques en PHP, c'est à dire :

- supposons que vous vouliez afficher une variable choisie par le visiteur et passée par l'url (soit $_GET[]), vous devriez utiliser des if pour cerner toutes les possibilités, mais en utilisant cette astuce vous réduisez votre code à seulement quelques lignes et vous obtenu le résultat voulu tout en gardant un code propre et net.

- exemple de code :
<?php

// Pour cet exemple nous supposerons que PHP_VERSION => 4.1.0
$variable $_GET['variable'];
$nom 'phpdeb';

// affichage de la variable demandée par le visiteur
if($variable == 'nom'){
    echo $
$variable;
}

// ce qui affiche 'phpdeb'
?>


Donc en fait, on affiche la valeur de la variable dynamique en tapant $$MaVariable

Voilà, alors au lieu d'un grand discour, un petit lien pour expliquer ceci.

Salutations

Posté le : 21/03/2006 12:44
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

63 Personne(s) en ligne (50 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 63 | Plus ...