SORU
28 Mart 2009, CUMARTESİ


Nasıl statik değişkenleri başlatılamıyor

Bu kod var:

private static $dates = array(
  'start' => mktime( 0,  0,  0,  7, 30, 2009),  // Start date
  'end'   => mktime( 0,  0,  0,  8,  2, 2009),  // End date
  'close' => mktime(23, 59, 59,  7, 20, 2009),  // Date when registration closes
  'early' => mktime( 0,  0,  0,  3, 19, 2009),  // Date when early bird discount ends
);

Bana aşağıdaki hata verir:

Ayrıştırma hatası:, ( ', bekliyordum') '/home/kullanıcı/Siteler/site/kayıt/ınc/kayıt. ' sözdizimi hatası, beklenmedik sınıf.ınc hattı 19

Yani, yanlış bir şey yapıyorum sanırım. ama bunu nasıl yoksa öyle miyim? Eğer düzenli dizeleri ile mktime işlevi şeyleri değiştirirsem çalışır. Bunu yapabileceğimi biliyorumbir bakımao.. gibi

Herkes bazı öneriler var mı?

CEVAP
28 Mart 2009, CUMARTESİ


PHP başlatıcılar önemsiz olmayan ifadeler ayrıştırmak olamaz.

Sınıf tanımı sonra: kod ekleyerek bu geçici bir çözüm bulmak için tercih ediyorum

class Foo {
  static $bar;
}
Foo::$bar = array(…);

ya

class Foo {
  private static $bar;
  static function init()
  {
    self::$bar = array(…);
  }
}
Foo::init();

PHP 5.6 bazı ifadeler halleder.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • vgeller1

    vgeller1

    22 Kasım 2009
  • William Sledd

    William Sled

    24 EYLÜL 2006