SORU
22 Ocak 2009, PERŞEMBE


Bunu PHP statik sınıflar oluşturmak mümkün (C#gibi).

PHP statik bir sınıf oluşturun ve C yapar gibi davranmanı istiyorum#, o kadar

  1. Yapıcı otomatik olarak sınıfa ilk görüşmede denir
  2. Hayır örnekleme gerekli

Bu tür bir şey...

static class Hello {
    private static $greeting = 'Hello';

    private __construct() {
        $greeting .= ' There!';
    }

    public static greet(){
        echo $greeting;
    }
}

Hello::greet(); // Hello There!

CEVAP
22 Ocak 2009, PERŞEMBE


PHP statik sınıflar olabilir ama yapıcı otomatik olarak aramazlarsa ve öz çalışırsanız Ara (::__construct() bir hata).

Bu nedenle initialize() bir işlev oluşturun ve her yöntemi " diyebilirsiniz:

<?php

class Hello
{
    private static $greeting = 'Hello';
    private static $initialized = false;

    private static function initialize()
    {
    	if (self::$initialized)
    		return;

        self::$greeting .= ' There!';
    	self::$initialized = true;
    }

    public static function greet()
    {
    	self::initialize();
        echo self::$greeting;
    }
}

Hello::greet(); // Hello There!


?>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • kndx

    kndx

    11 Mart 2006
  • Phymec

    Phymec

    18 Temmuz 2009