/** * @covers PsConst::hasPhpType */ public function testHasPhpType() { $this->assertTrue(PsConst::hasPhpType(PsConst::PHP_TYPE_ARRAY)); $this->assertFalse(PsConst::hasPhpType(self::NOT_ALLOWED_STR)); }
/** * Метод проверяет тип переденной переменной * * @param mixed $var * @param array $allowed - допустимые типы данных * @param array $denied - запрещённые типы данных * @return mixed */ public static function phpType($type, array $allowed = null, array $denied = null) { if (!PsConst::hasPhpType($type)) { self::raise('Ожидается зарегистрированный тип данных php', $type); } if (!empty($allowed) && !in_array($type, $allowed)) { self::raise('Ожидается один из типов данных: ' . array_to_string($allowed), $type); } if (!empty($denied) && in_array($type, $denied)) { self::raise('Не ожидается один из типов данных: ' . array_to_string($denied), $type); } return $type; }