已有一个常量DATA_PATH,和一个字符串"file_name"
如何在类中定义一个变量(常量好像需要5.7),表示DATA_PATH与"file_name"的组合。
我在类外,像下面这样定义是可以的:
$FILE_PATH = DATA_PATH."file_name";
但在类中就不行:
class Util { public static $FILE_PATH = DATA_PATH."file_name"; // 语法错误 }
求除了升级PHP版本的其他方法
光阴似箭催人老,日月如移越少年。
题主的原意是不用实例化直接这样 Util::$FILE_PATH 调用这个静态属性吧?
Util::$FILE_PATH
是的,除了升级到 PHP v5.6.0,就是直接写成方法了:
define('DATA_PATH', __DIR__ . DIRECTORY_SEPARATOR); class Util { public static function getFilePath() { return DATA_PATH . 'filename'; } } echo Util::getFilePath();
http://3v4l.org/td8D4 || http://3v4l.org/ML4Ce
楼主,去掉 static 就可以了.. 静态成员属性是需要直接赋值的
defined('DATA_FILE') or define('DATA_FILE', DATA_PATH."file_name"); class Util { public static $FILE_PATH = DATA_FILE; }
http://3v4l.org/gXSsn PS:3v4l.org 挺好用!
构造函数中对静态变量赋值即可。
题主的原意是不用实例化直接这样
Util::$FILE_PATH
调用这个静态属性吧?是的,除了升级到 PHP v5.6.0,就是直接写成方法了:
http://3v4l.org/td8D4 || http://3v4l.org/ML4Ce
楼主,去掉 static 就可以了..
静态成员属性是需要直接赋值的
defined('DATA_FILE') or define('DATA_FILE', DATA_PATH."file_name");
class Util {
public static $FILE_PATH = DATA_FILE;
}
http://3v4l.org/gXSsn
PS:3v4l.org 挺好用!
构造函数中对静态变量赋值即可。