代码之家  ›  专栏  ›  技术社区  ›  Matt

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

  •  6
  • Matt  · 技术社区  · 16 年前
    class My_class
    {
        const STATUS_ERROR = 0;
        const STATUS_OK = 1;
        const DB_TABLE = TABLE_PREFIX . 'class_table';
    }

    这两个状态常量工作正常,可以在类方法中访问 self::STATUS_ERROR self::STATUS_OK 很好。

    问题是当我试图定义第三个常量时,如何停止引发以下错误之一。

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

    2 回复  |  直到 16 年前
        1
  •  10
  •   troelskn    16 年前

    你没有。常数是常数。你不能在里面储存任何东西。

    不过,您可以使用静态属性。

    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';
      }
    }
    
        2
  •  3
  •   Neil Aitken    16 年前

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

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

    推荐文章