PHP强制函数参数为in_array()

时间:2015-04-16 12:35:10

标签: php oop type-hinting

说,我有一个类似于等级的课程,

class Car
   {
      // Types
      const TYPE_SALOON = "Saloon";
      const TYPE_HATCHBACK = "Hatchback";
      ...

     public static function validTypes() {
          return array(
             static::TYPE_SALOON,
             static::TYPE_HATCHBACK,
             ...
          );
      }
 }

我需要构造函数接受一个名为type的输入参数,该参数在validTypes()返回的数组中退出。我通常这样做的方式是:

function __construct($type, ...) {
    if(!in_array($type, static::validTypes())) {
        // Throw Exception
    }
}

这是一种更优雅的方法吗?

有没有办法用typeHinting做到这一点?

0 个答案:

没有答案