Nasıl bir sabit ve bir değişken bağlamak ve PHP ile sürekli bir sınıfta saklayabilirsiniz?

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

Iki durum consts ince iş ve self::STATUS_ERROR ve self::STATUS_OK sadece iyi gibi sınıf yöntemleri içinde ulaşılabilir.

Sorunu ben üçüncü sabit tanımlamak çalıştığınızda aşağıdaki hata atılan durdurmak için nasıl biridir.

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

2 Cevap

Sen yok. Sabitleri sabittir. Onlara hiçbir şey saklayamazsınız.

Eğer olsa bir statik özelliğini kullanabilirsiniz.

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

Sen beyanı içinde bunu yapamaz, bu yüzden yerine statik yöntemi tercih edebilirsiniz.

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

const sabit bir değer ile tanımlanması gerekir, onlar bir ifadenin sonucu olamaz

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