WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
DEFINE ne marche pas quand il est importé via REQUIRE ou INCLUDE
Envoyé par: djax (---.4.90.85.fix.cust.gepowernet.ch)
Date: 21 July 2006 à 12:29

Bonjour,

J'essaie d'utiliser une libraire qui a utiliser des DEFINE pour traitre le multilinguisme.

Il a mis donc dans des fichiers lang/lang.en.php, lang/lang.fr.php.

Les fichiers sont du style:
--------------
<?

define( "_LANGMAINPAGE", "Mainpage" );
?>
--------------

Dans un fichier index.php, il essaie d'inclure le fichier lang/lang.en.php

-----------------
<?
include_once("lang/lang.en.php"winking smiley;

echo _LANGMAINPAGE;
?>
-----------------

Mais au lien d'afficher "Mainpage", ça s'affiche "_LANGMAINPAGE".

Quelqu'un saurait-il pourquoi?

Merci

Options: Répondre•Citer ce Message
Re: DEFINE ne marche pas quand il est importé via REQUIRE ou INCLUDE
Envoyé par: krovomi (---.pharmaset.com)
Date: 21 July 2006 à 15:26

je ne sais pas si c'est comme en C, mais essaye

define( _LANGMAINPAGE, "Mainpage" );

Dis moi si c'est bon ?

Options: Répondre•Citer ce Message
Re: DEFINE ne marche pas quand il est importé via REQUIRE ou INCLUDE
Envoyé par: djax (---.4.90.85.fix.cust.gepowernet.ch)
Date: 21 July 2006 à 16:31

Non, ça ne marche pas.

Je pense que c'est pas au niveau du DEFINE le problème, mais de l'inclusion, parce que le code
------------
<?php
define ("CONSTANT", "salut."winking smiley;
echo CONSTANT."<br/>"; // affiche "salut."
echo Constant."<br/>"; // affiche "Constant" et une alerte

define ("BONJOUR", "Salut toi.",TRUE);
echo BONJOUR."<br/>"; // affiche "Salut toi."
echo Bonjour."<br/>"; // affiche "Salut toi."

?>
-----------
Affiche
----------
salut.
Constant
Salut toi.
Salut toi.
--------------

Options: Répondre•Citer ce Message
Re: DEFINE ne marche pas quand il est importé via REQUIRE ou INCLUDE
Envoyé par: dval (---.194-246-81.adsl-dyn.isp.belgacom.be)
Date: 21 July 2006 à 17:29

Oui, essaye un peu les balises ouvrantes php complètes !
c'est probablement là que ça coince... ?

si non, un peu de théorie :
(mais ton code semble correct)

Le nom d'une constante est sensible à la casse, par défaut. Par convention, les constantes sont toujours en majuscules. (c'est ton cas)

Les noms de constantes suivent les mêmes règles que n'importe quel nom en PHP. Un nom de constante valide commence par une lettre ou un souligné (_), suivi d'un nombre quelconque de lettre, chiffres ou soulignés.
(c'est aussi ton cas)

>> Utilisez la fonction get_defined_constants() pour connaître la liste de toutes les constantes définies. (pour voir..)

pour tester un peu :
--------------------------
Exemple avec get_defined_constants()

<?php
print_r(get_defined_constants());
?>


L'exemple ci-dessus va afficher :

Array
(
[E_ERROR] => 1
[E_WARNING] => 2
[E_PARSE] => 4
[E_NOTICE] => 8
[E_CORE_ERROR] => 16
[E_CORE_WARNING] => 32
[E_COMPILE_ERROR] => 64
[E_COMPILE_WARNING] => 128
[E_USER_ERROR] => 256
[E_USER_WARNING] => 512
[E_USER_NOTICE] => 1024
[E_ALL] => 2047
[TRUE] => 1
)

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP