Beispiel #1
0
 /**
  * @covers PsConst::hasPhpType
  */
 public function testHasPhpType()
 {
     $this->assertTrue(PsConst::hasPhpType(PsConst::PHP_TYPE_ARRAY));
     $this->assertFalse(PsConst::hasPhpType(self::NOT_ALLOWED_STR));
 }
Beispiel #2
0
 /**
  * Метод проверяет тип переденной переменной
  * 
  * @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;
 }