probleme classes et gestions des langues

claire/lila
Invité n'ayant pas de compte PHPfrance

03 août 2005, 14:55

Bonjour,

Alors voila je cherche a faire un site en multilangue. Sur les pages, pas de problemes, ca fonctionne, il prend sans probleme mon fichier de variables en compte ( pour les langues ). Mais dans mes classes, c'est loin d'etre aussi efficace...
J'ai en effet une fonction qui renverra des erreurs en fonctions de comment les champs d'un formulaire ont ete rempli. Le probleme est que je veux que ces messages d'erreurs puissent etre moduler en fonction de la langue.
J'ai essayé d'inclure (require_once ) mon fichier de variable un peu partout, mais impossible, il ne reconnait pas les variables..

Pour expliquer un peu plus :
j'ai un fichier de langue :
inscription_ut.lang
qui contient simplement des variables contenant le texte dans la langue souhaitée :
<?php
$err_nom_abs = "Nom obligatoire";
$err_prenom_abs = "Pr&eacute;nom obligatoire";
?>
J'ai un fichier avec ma classe ( qui fonctionne tres bien ) qui contient ma fonction :
function validation($Erreur)
		{

		// ^= debut de chaine suivi de.. , $ = fin de chaine precedé de...
		
			if (eregi("^$",$this->nom))
				$Erreur->erreur_nom=$err_nom_abs;
			
			if (eregi("^$",$this->prenom))
				$Erreur->erreur_prenom=$err_prenom_abs;
return $Erreur
}
fonction qui fonctionne bien si ce n'est l'erreur avec les variables de langue.

Et un fichier php qui appelle la fonction etc.
Tout fonctionne bien. Si je mets du texte a la place des variables de langues, ca fonctionne. Mais les variables de langue ne sont pas reconnu, malgré l'inclusion du fichier dans le fichier php, et meme si je l'inclus dans divers endroit ( fonction compris ) du fichier classe ( ce qui m'arrange pas d'ailleurs de l'inclure la dedans ;))

Si quelqu'un connait le probleme et sa solution :cry: merci d'avance ![/code]

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 août 2005, 14:59

normal : une fonction/méthode ne connait que ses variables locales, les paramètres ou les attributs appelés correctement

tu peux utiliser la propriété $GLOBALS pour accéder aux variables extérieures

Mammouth du PHP | 19672 Messages

03 août 2005, 14:59

Il manque peut-être une variable dans ta classe qu'il faudrait initialiser dans le constructeur : la langue en cours... avec le chemin d'accès vers le fichier correspondant... :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

03 août 2005, 15:03

ben pour le moment j'ai mis le chemin en dur, donc elle charge bien le bon fichier

je vais essayer avec le global merci

Invité
Invité n'ayant pas de compte PHPfrance

03 août 2005, 15:10

ca fonctionne :)
merci z'etes genial ;)