如何在php中使用类名作为case的switch case语句?

时间:2014-08-25 13:40:38

标签: php class switch-statement case

有没有办法在下面的例子中使用类名作为案例? (伪代码)

class Some_Class {

    static function get_image_size() {

        switch (get_class($image_size)) {

            case 'Class_1':
                        $image_size = 'related-post';
                        break;
                    }
            case 'Class_2':
                        $image_size = 'full';
                        break;
                    }                   

                        return $image_size;

                    }

}

我需要这个来调用不同php类的特定变量。 基本上我需要类似下面的代码,但使用switch语句:

class Some_class {

    static function get_image_size() {

        if Class_Name_1 {
            $image_size = 'related-post';
        }

        elseif Class_Name_2 {
            $image_size = 'full';
        }                   

        return $image_size;

    }

}

感谢。

1 个答案:

答案 0 :(得分:0)

好的,首先,如果这个“类名”是你调用这个函数的类的名称,为什么不将它作为变量传递给这个静态函数呢?

其次,如果按类名称表示“Some_Class”的名称,您可以通过静态函数中的代码访问此名称:

$thisClassName = get_class(new self());

更好!

$thisClassName = get_class();

$thisClassName = __CLASS__;