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

  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006
  • steeletraining

    steeletraini

    28 NİSAN 2010