[英]Can I access a PHP Class Constant using a variable for the constant name?
[英]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_ERROR
和self::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.