Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[PHP] Test d'une classe

kij_82, le mercredi 29 novembre 2006 à 09:55:37 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un petit soucis actuellement. Pour les besoins d'un projet, j'ai créé en PHP un classe pour mes logs, la voici :

Class Logger {
	
	var $_file 			= null;
	// --- Possoble mode value :
	// ---  0 = error mode (error traces)
	// ---  1 = debug mode (error + debug traces)
	var $mode 			= null;
	var $nb_log 		= null;
	var $list_log 	= null;
	
	function Logger ( $file, $mode ){
		$this->_file = $file;
		$this->mode = $mode;
		$this->nb_log = 0;
	}
	
	function addLogMessage ( $logMessage ){
		$this->list_log[$this->nb_log] = $logMessage;
		$this->nb_log++;
	}
	function clearLogs ( ){
		for ($i = 0; $i < $this->nb_log; $i++ )
			unset($this->list_log[$i]);
		$this->nb_log = 0;
	}
	function writeLogFile ( ){		
		// --- Open the log file (read/write)
		$fp = fopen($this->_file,"r+");
		// --- Go to the begin
		fseek($fp,0);
		// --- Write the message in the file
		for ( $i = 0; $i < $this->nb_log; $i++ ){
			fputs($fp,$this->list_log[$i]."\r\n");
		}
		// --- Close the log file
		fclose($fp);      
	}
}



Une classe toute simple donc. J'ai le probleme suivant : Au début d'un script, je créé une instance de cette classe :
$logger = new Logger("./log.txt",1);


Puis au cours de mon script, j'y fais appel pour mettre des messages d'erreur, warning, etc..
$logger->addLogMessage("toto part en vacances");


Et enfin, à la fin de mon script (ou en cas d'erreur), j'écris ces logs dans un fichiers texte (log.txt) :
$logger->writeLogFile();


Le hic c'est que rien ne s'affiche dans mon fichier texte, alors que les message sont bien ajoutés dans la liste de l'objet Logger.

Pourriez-vous tester chez vous cette classe pour savoir si cela vient uniquement de chez moi ou pas ? Car il y a 3 jour tout marchait bien, et maintenant je n'ai plus rien :s

Merci :) ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

1

kij_82, le mercredi 29 novembre 2006 à 11:34:19

J'ai une piste, si vous mettez cela dans un fichier php :

<?php

Class Logger {
	
	var $_file 			= null;
	// --- Possoble mode value :
	// ---  0 = error mode (error traces)
	// ---  1 = debug mode (error + debug traces)
	var $mode 			= null;
	var $nb_log 		= null;
	var $list_log 	= null;
	
	function Logger ( $file, $mode ){
		$this->_file = $file;
		$this->mode = $mode;
		$this->nb_log = 0;
	}
	
	function addLogMessage ( $logMessage ){
                echo "Message ajouté : ".$logMessage."<BR>";
		$this->list_log[$this->nb_log] = $logMessage;
		$this->nb_log++;
	}
	function clearLogs ( ){
		for ($i = 0; $i < $this->nb_log; $i++ )
			unset($this->list_log[$i]);
		$this->nb_log = 0;
	}
	function writeLogFile ( ){		
		// --- Open the log file (read/write)
		$fp = fopen($this->_file,"w+");
		// --- Go to the begin
		//fseek($fp,0);
                if ( $fp != false ){
		   // --- Write the message in the file
		   for ( $i = 0; $i < $this->nb_log; $i++ ){
                         echo "Message a écrire : ".$this->list_log[$i]."<BR>";
			 fputs($fp,$this->list_log[$i]."\r\n");
		   }
		   // --- Close the log file
		   fclose($fp);
                }
                else echo "Ne peut pas ouvrir le fichier<BR>";      
	}
}



$logger = new Logger("./log.txt",1);
$logger->addLogMessage("toto part en vacances");
$logger->addLogMessage("pour s'amuser un peu");
$logger->writeLogFile();

?>


Vous verrez que entre le temps ou les messages sont ajoutés dans la liste de l'objet et le temps ou ils sont repris pour etre affichés, ceux-ci n'ont plus de valeur (0) :s

Quelqun saurait-il ce qu'il se passe ? (ou peut etre que ca ne le fais que chez moi toujours, vous pouvez confirmer ?)
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

--
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

2

elsadelatoundra, le mercredi 29 novembre 2006 à 12:11:13

Coucou !!

Bon, ne te fais pas une fausse joie : je ne pourrais/saurais pas t'aider ...

Par contre, je peux tester ce que tu as envoyé !

Quand j'exécute ton script à l'affichage j'ai :

Message ajouté : toto part en vacances
Message ajouté : pour s'amuser un peu
Message a écrire : toto part en vacances
Message a écrire : pour s'amuser un peu

Et dans le fichier log.txt :
toto part en vacances
pour s'amuser un peu

Voilà ... je ne sais pas si ça t'aide !!

Bon courage ;-)

ellessa mange des cerises

Répondre à elsadelatoundra

3

kij_82, le mercredi 29 novembre 2006 à 12:19:26

Sérieusement ?!

Bahh !! Merci ca m'aide beaucoup... et en même temps j'aurais préféré que ca ne marche pas chez toi. Ca veut dire que mon environnement de test n'est pas bon ou cloche quelque part. Va falloir que je fasse une ré-installation :s

Merci ellessa pour ce coup de pouce :)
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

4

 elsadelatoundra, le mercredi 29 novembre 2006 à 12:35:02

Mais de rien : heureuse d'avoir pu t'aider !!

Pour une fois que je peux aider les autres, ça me fait très plaisir ... d'autant plus que tu m'as bien aidée !!

Bon courage à toi !!

ellessa mange des cerises

Répondre à elsadelatoundra
[PHP]Test Adresse IP valide (Résolu) Je souhaite faire un test en php pour vérifier si l'adresse IP rentré dans mon formulaire est bien valide et du style a.b.c.d avec 0 www.commentcamarche.net/forum/affich-2209719-php-test-adresse-ip-valide
PHP - Les classes La notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la... www.commentcamarche.net/contents/php/phpclass.php3
Script php et classe css (Résolu) Bonsoir (pour les couche-tard qui programment encore à 1h du mat...) ou bonjour Toujours aussi débutant en php, je rencontre un problème de mise en forme d'un message d'erreur personnalisé. Le script total vérifie que les données entrées dans un... www.commentcamarche.net/forum/affich-2736423-script-php-et-classe-css
[PHP] Les ressemblances à ne pas confondreIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en php... www.commentcamarche.net/faq/sujet-4479-php-les-ressemblances-a-ne-pas-confondre
Installation rapide de LAMP (Apache+MySql+php) sous LinuxLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL... www.commentcamarche.net/faq/sujet-7971-installation-rapide-de-lamp-apache-mysql-php-sous-linux
[PHP] Date de dernière modificationGrâce à PHP il est possible d'afficher automatiquement la date de dernière modification de la page en cours : ... www.commentcamarche.net/faq/sujet-851-php-date-de-derniere-modification
[php] communiquer entre classe et fonctionsBonjour, Je vais essayer d'etre clair. Je me remets TRES doucement à php. J'ai fais une page class.php qui contient une classe dont voiçi le code : www.commentcamarche.net/forum/affich-2438277-php-communiquer-entre-classe-et-fonctions
[PHP] Classe graphiqueBonjour ou Bonsoir, J'aimerai savoir s'il est possible de développer une Interface basée sur le modèle Model View Componant en PHP ? Ou en reformulant ma question : est-il possible de développer des classes graphiques en PHP ? Si oui, autre question :... www.commentcamarche.net/forum/affich-791442-php-classe-graphique
[PHP] objets : constructeurs et héritageBonjour à tous, je débute avec les objets en php soyez indulgents ;-) voici mon problème : j'ai 2 classes dont l'une hérite de l'autre. est il possible que lorsque je crée un objet de la classe fille, la fonction constructeur de la classe mère soit... www.commentcamarche.net/forum/affich-7660767-php-objets-constructeurs-et-heritage
PHP - Structures conditionnellesQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1... www.commentcamarche.net/contents/php/phpcond.php3
PHP - Récupération de donnéesPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des... www.commentcamarche.net/contents/php/phpform.php3
Introduction à PHPQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La... www.commentcamarche.net/contents/php/phpintro.php3