繁体   English   中英

如何连接常量和变量并使用PHP将其存储在类常量中?

[英]How can I concatenate a constant and a variable and store it in a class constant with PHP?

class My_class
{
    const STATUS_ERROR = 0;
    const STATUS_OK = 1;
    const DB_TABLE = TABLE_PREFIX . 'class_table';
}

两个状态consts工作正常,可以在类方法中访问self::STATUS_ERRORself::STATUS_OK就好了。

问题是当我尝试定义第三个常量时如何停止抛出以下错误。

Parse error: syntax error, unexpected '.', expecting ',' or ';' in /home/sub/sub/directory/script.php

你没有。 常数是不变的。 你不能存储任何东西。

您可以使用静态属性。

class My_Class {
  public static $DB_TABLE;
}
My_Class::$DB_TABLE = TABLE_PREFIX . 'class_table';

您无法在声明中执行此操作,因此您可能更喜欢静态方法。

class My_Class {
  public static function dbTable() {
    return TABLE_PREFIX . 'class_table';
  }
}

const必须用常量值定义,它们不能是表达式的结果

http://www.phpbuilder.com/manual/en/language.oop5.constants.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM