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

  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • hans peder sahl

    hans peder s

    22 Temmuz 2009
  • Need for Speed

    Need for Spe

    8 ŞUBAT 2006