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

  • engineerguy

    engineerguy

    10 Ocak 2010
  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011