本文整理汇总了PHP中Psc\Code\Code::castId方法的典型用法代码示例。如果您正苦于以下问题:PHP Code::castId方法的具体用法?PHP Code::castId怎么用?PHP Code::castId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Psc\Code\Code
的用法示例。
在下文中一共展示了Code::castId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getIdentifierCaster
protected function getIdentifierCaster(EntityPropertyMeta $identifierMeta)
{
if ($identifierMeta->getType() instanceof IntegerType) {
$idCaster = function ($idString, $debugKey) {
$id = \Psc\Code\Code::castId($idString, FALSE);
if ($id === FALSE) {
throw new ValidatorRuleException(sprintf("Der Wert '%s' des Schlüssels %s kann nicht zu einer numerischen Id gecastet werden", $idString, $debugKey));
}
return $id;
};
} elseif ($identifierMeta->getType() instanceof StringType) {
$idCaster = function ($idString, $debugKey) {
if (!is_string($idString)) {
throw new ValidatorRuleException(sprintf("Der Type '%s' des Schlüssels %s muss ein String sein", gettype($idString), $debugKey));
}
if (mb_strlen($idString) == 0) {
throw new ValidatorRuleException(sprintf("Der Wert '%s' des Schlüssels %s kann nicht zu einem Identifier gecastet werden", $idString, $debugKey));
}
return $idString;
};
} else {
throw new \Psc\Code\NotImplementedException(sprintf('IdCaster für Type %s ist nicht implementiert', $identifierMeta->getType()));
}
return $idCaster;
}
示例2: validate
public function validate($data)
{
if ($data === NULL) {
throw new EmptyDataException();
}
if (is_string($data)) {
$data = trim($data);
}
$id = Code::castId($data);
if ($id > 0) {
return $id;
}
throw new \Psc\Exception('Zahl größer 0 erwartet');
}
示例3: testCastId
/**
* @dataProvider provideCastId
*/
public function testCastId($expected, $id, $default = NULL)
{
$this->assertEquals($expected, Code::castId($id, $default));
}