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

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008