Home  >  Article  >  Backend Development  >  PHP如何在类中将一个字符串常量与一个字符串合起来定义成一个变量

PHP如何在类中将一个字符串常量与一个字符串合起来定义成一个变量

WBOY
WBOYOriginal
2016-06-06 20:41:171682browse

已有一个常量DATA_PATH,和一个字符串"file_name"

如何在类中定义一个变量(常量好像需要5.7),表示DATA_PATH与"file_name"的组合。

我在类外,像下面这样定义是可以的:

<code>$FILE_PATH = DATA_PATH."file_name";
</code>

但在类中就不行:

<code>class Util {
    public static $FILE_PATH = DATA_PATH."file_name"; // 语法错误
}
</code>

求除了升级PHP版本的其他方法

回复内容:

已有一个常量DATA_PATH,和一个字符串"file_name"

如何在类中定义一个变量(常量好像需要5.7),表示DATA_PATH与"file_name"的组合。

我在类外,像下面这样定义是可以的:

<code>$FILE_PATH = DATA_PATH."file_name";
</code>

但在类中就不行:

<code>class Util {
    public static $FILE_PATH = DATA_PATH."file_name"; // 语法错误
}
</code>

求除了升级PHP版本的其他方法

题主的原意是不用实例化直接这样 Util::$FILE_PATH 调用这个静态属性吧?

是的,除了升级到 PHP v5.6.0,就是直接写成方法了:

<code>define('DATA_PATH', __DIR__ . DIRECTORY_SEPARATOR);

class Util {
    public static function getFilePath() {
        return DATA_PATH . 'filename';
    }
}

echo Util::getFilePath();
</code>

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 挺好用!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn