我正在编写一个简单的类,它将为我的站点创建一个简单的日志文件。出于某种原因,当我在函数外部有变量file_path时,我收到此错误...
Parse error: parse error, expecting `','' or `';''
使用此代码..
class Logger {
public $file_path = SITE_ROOT.DS.'logs'.DS.'log.txt';
public static function log_action ($message="") {
if (file_exists($file_path)) {
file_put_contents($file_path, $message, FILE_APPEND);
} else {
return "could not write to log file";
}
}
但是,当变量在函数内时,不会出现此错误。这是为什么?
public static function log_action ($action, $message="") {
$file_path = SITE_ROOT.DS.'logs'.DS.'log.txt';
if (file_exists($file_path)) {
file_put_contents($file_path, $message, FILE_APPEND);
} else {
return "could not write to log file";
}
答案 0 :(得分:2)
在内部类中,您可以在外部方法中运行的PHP代码是有限的:
班级成员[...]是 使用关键字public,protected或private之一定义, 然后是正常的变量声明。这个声明可能会 包括初始化,但初始化必须是常量 value - 也就是说,它必须能够在编译时进行评估 不得依赖于运行时信息才能进行评估。
来自Properties。
因此这无效:
public $file_path = SITE_ROOT.DS.'logs'.DS.'log.txt';