2012-07-25 3 views
0
 
class Logging{ 

    private $log_file = 'c:/xampp/htdocs/jcert2/tmp/sslogfile.txt'; 
    public static $fp = null; 

    public static function lwrite($message){ 
    if (Logging::fp) Logging::lopen(); 
    // $script_name = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME); 
    $time = date('H:i:s'); 
    fwrite(Logging::fp, "$time $message\n"); 
    } 
    // open log file 
    private static function lopen(){ 
    $lfile = $this->log_file; 
    $today = date('Y-m-d'); 
    Logging::fp = fopen($lfile . '_' . $today, 'a') or exit("Can't open $lfile!"); 
    } 
} 

J'ai créé un fichier journal et je reçois une erreur dans la dernière ligneErreur dans le code PHP J'ai écrit incapable de comprendre comment le corriger?

Logging::fp = fopen(....)
l'erreur est inattendu « = » quelqu'un peut me guider dans la compréhension et corriger l'erreur.

Répondre

0

manquant $: Logging :: fp $ = fopen (.. Lfile de $ '_' aujourd'hui $, 'a') ou de sortie ("Can not ouvre $ lfile! ");

0

Le double point-virgule indique une propriété statique de la classe. Vous ne pouvez pas affecter de valeurs aux propriétés statiques d'une classe. Pour en savoir plus sur les propriétés statiques, voir:

http://php.net/manual/en/language.oop5.static.php

+0

Pouvez-vous me guider comment puis-je modifier ce code pour obtenir ce que je dois. –

0

Vous pouvez utiliser getters/setters

class Logging{ 

    private $log_file = 'c:/xampp/htdocs/jcert2/tmp/sslogfile.txt'; 
    private $fp = null; 

    private static function lopen(){ 
     $lfile = $this->log_file; 
     $today = date('Y-m-d'); 
     $this->fp = fopen($lfile . '_' . $today, 'a') or exit("Can't open $lfile!"); 
    } 

    public static function get_fp(){ 
     return $this->fp; 
    } 
} 
Questions connexes