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

WBOY
풀어 주다: 2016-06-06 20:41:17
원래의
1680명이 탐색했습니다.

已有一个常量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 挺好用!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿