在PHP的配置文件中设置静态变量

时间:2018-08-03 09:24:19

标签: php

我有一个简单的PHP静态类,它在log.txt中写入脚本的日志。 是:

CI_DB_sqlsrv_result

$ fileLogConfig是一个从config.inc接收“ log”参数的变量。

这是我的文件config.inc:

<?php

class Log {

    $fileLogConfig = ''; //include 'config.inc'; -> it's an error!

    //Write the log in log.txt
    public static function tracciaOperazioniNelLog($operation) {
        $fileLog = fopen($fileLogConfig['log'], "a+") or die("Error! \n");
        fwrite($fileLog, $operation . "\n");
        fclose($fileLog);
    }

}
?>

?>

但是PHP说关于include'config.inc'的错误?我的错误在哪里? 谢谢!

1 个答案:

答案 0 :(得分:1)

您需要将文件包含在构造函数中。

<?php

class Log {

    public $fileLogConfig; 

    function __construct(){
       $this->fileLogConfig = include 'config.inc.php';
    }

}

$o = new Log();
print_r($o->fileLogConfig);

更新

我忽略了OP具有静态类。 因此,创建一个initialize()方法来设置您的静态变量。     

class Log {

    public static $fileLogConfig; 

    public static function initialize(){
        self::$fileLogConfig = include 'config.inc.php';
    }

}

Log::initialize();
print_r(Log::$fileLogConfig);