ara vermeden bildirimde geçiş

0 Cevap php

Nasıl oluyor otomatik olarak bir mola içermeyen bir switch deyimi içinde bir harf seçeneği kontrol olmadan bir sonraki vakaya iletir?

try {
    switch($param) {
        case "created":
            if(!($value instanceof \DateTime))
                throw new \Exception("\DateTime expected, ".gettype($value)." given for self::$param");
        case "Creator":
            if(!($value instanceof \Base\User)) {
                throw new \Exception(get_class($value)." given. \Base\User expected for self::\$Creator");                  
            }
        default:
            $this->$param = $value;
            break;
    }
} catch(Exception $e) {
    echo $e->getMessage();
}

Param "yaratılmış" ise iyi olduğu, yaratılan-durumda kontrol yapacağız. Çek başarılı olduğunda, ben hiç ara var, bu yüzden kod varsayılan seçeneğin devam etmek istiyorum;. Ise $ param! = "Yaratıcı" Ama bunun yerine kendisine "Yaratıcı" devam ediyor!

(Sadece "yaratılmış" benim durumumda varsayılan kodu ekleyin) bu çözmek için nasıl biliyorum, ama ben çok sık bu kodu tekrarlamak sevmiyorum. Benim asıl soru şudur: case "Yaratıcı" değildir iken Neden "Yaratıcı" dava ile devam ediyor.

0 Cevap