本文整理汇总了PHP中Hesper\Core\Base\Assert类的典型用法代码示例。如果您正苦于以下问题:PHP Assert类的具体用法?PHP Assert怎么用?PHP Assert使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Assert类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: import
public function import($scope)
{
if (!$this->className) {
throw new WrongStateException("no class defined for PrimitiveUuidIdentifierList '{$this->name}'");
}
if (!BasePrimitive::import($scope)) {
return null;
}
if (!is_array($scope[$this->name])) {
return false;
}
$list = array_unique($scope[$this->name]);
$values = array();
foreach ($list as $id) {
if (!Assert::checkUUID($id)) {
return false;
}
$values[] = $id;
}
$objectList = $this->dao()->getListByIds($values);
if (count($objectList) == count($values) && !($this->min && count($values) < $this->min) && !($this->max && count($values) > $this->max)) {
$this->value = $objectList;
return true;
}
return false;
}
示例2: isIndexExists
public static function isIndexExists($array, $key, $message = null)
{
Assert::isArray($array);
if (!array_key_exists($key, $array)) {
throw new WrongArgumentException($message . ', ' . self::dumpArgument($key));
}
}
示例3: make
/**
* @return GmpBigInteger
**/
public static function make($number, $base = 10)
{
Assert::isTrue(is_numeric($number));
$result = new self();
$result->resource = gmp_init($number, $base);
return $result;
}
示例4: rebind
public function rebind($name, $object)
{
Assert::isNotNull($object);
$this->map[$name] = $object;
$this->reverseMap[spl_object_hash($object)] = $name;
return $this;
}
示例5: swap
public static function swap(DAOConnected $first, DAOConnected $second, $property = 'position')
{
Assert::isTrue(get_class($first) === get_class($second));
$setMethod = 'set' . ucfirst($property);
$getMethod = 'get' . ucfirst($property);
Assert::isTrue(method_exists($first, $setMethod) && method_exists($first, $getMethod));
/** @var StorableDAO $dao */
$dao = $first->dao();
$db = DBPool::me()->getByDao($dao);
$oldPosition = $first->{$getMethod}();
$newPosition = $second->{$getMethod}();
$db->begin();
$e = null;
try {
$dao->save($first->{$setMethod}(self::$nullValue));
$dao->save($second->{$setMethod}($oldPosition));
$dao->save($first->{$setMethod}($newPosition));
$db->commit();
} catch (DatabaseException $e) {
$db->rollback();
}
$dao->uncacheByIds([$first->getId(), $second->getId()]);
if ($e) {
throw $e;
}
}
示例6: import
public function import($scope)
{
if (!$this->className) {
throw new WrongStateException("no class defined for PrimitiveIdentifierList '{$this->name}'");
}
if (!BasePrimitive::import($scope)) {
return null;
}
if (!is_array($scope[$this->name])) {
return false;
}
$list = array_unique($scope[$this->name]);
$values = array();
foreach ($list as $id) {
if (!Assert::checkScalar($id)) {
return false;
}
$values[] = $id;
}
$objectList = array();
foreach ($values as $value) {
$className = $this->className;
$objectList[] = new $className($value);
}
if (count($objectList) == count($values)) {
$this->value = $objectList;
return true;
}
return false;
}
示例7: set
public function set($name, $value)
{
if (!isset($this->mapping[$name])) {
throw new WrongArgumentException("knows nothing about property '{$name}'");
}
$primitive = $this->mapping[$name];
$setter = 'set' . ucfirst($primitive->getName());
if (!method_exists($this->object, $setter)) {
throw new WrongArgumentException("cannot find mutator for '{$name}' in class " . get_class($this->object));
}
if (is_object($value)) {
if ($primitive instanceof PrimitiveAnyType && $value instanceof PrototypedEntity) {
$value = ObjectToDTOConverter::create($value->entityProto())->make($value);
} else {
$value = $this->dtoValue($value, $primitive);
}
} elseif (is_array($value) && is_object(current($value))) {
$dtoValue = [];
foreach ($value as $oneValue) {
Assert::isTrue(is_object($oneValue), 'array must contain only objects');
$dtoValue[] = $this->dtoValue($oneValue, $primitive);
}
$value = $dtoValue;
}
return $this->object->{$setter}($value);
}
示例8: of
/**
* @throws WrongArgumentException
* @return PrimitiveIdentifier
**/
public function of($class)
{
$className = $this->guessClassName($class);
Assert::isTrue(class_exists($className, true) || interface_exists($className, true), "knows nothing about '{$className}' class/interface");
$this->ofClassName = $className;
return $this;
}
示例9: setPublic
/**
* @return DoctypeDeclaration
**/
public function setPublic($isPublic)
{
Assert::isBoolean($isPublic);
$this->public = $isPublic;
$this->inline = false;
return $this;
}
示例10: setAllowableTags
/**
* @return StripTagsFilter
**/
public function setAllowableTags($exclude)
{
if (null !== $exclude) {
Assert::isString($exclude);
}
$this->exclude = $exclude;
return $this;
}
示例11: addTable
/**
* @throws WrongArgumentException
* @return DBSchema
**/
public function addTable(DBTable $table)
{
$name = $table->getName();
Assert::isFalse(isset($this->tables[$name]), "table '{$name}' already exist");
$this->tables[$table->getName()] = $table;
$this->order[] = $name;
return $this;
}
示例12: getRequestGetter
public function getRequestGetter()
{
Assert::isNotNull($this->requestType);
if (!$this->requestGetter) {
$this->requestGetter = self::$requestGetterMap[$this->requestType->getId()];
}
return $this->requestGetter;
}
示例13: setDefault
/**
* @return PrimitiveMultiList
**/
public function setDefault($default)
{
Assert::isArray($default);
foreach ($default as $index) {
Assert::isTrue(array_key_exists($index, $this->list));
}
return parent::setDefault($default);
}
示例14: getOpenPoint
/**
* @throws WrongArgumentException
* @return LogicalChain
**/
public static function getOpenPoint($left, $right, $point)
{
Assert::isFalse($point === null, 'how can i build logic from emptyness?');
$point = new DBValue($point);
$chain = new LogicalChain();
$chain->expOr(Expression::orBlock(Expression::andBlock(Expression::notNull($left), Expression::notNull($right), Expression::between($point, $left, $right)), Expression::andBlock(Expression::isNull($left), Expression::ltEq($point, $right)), Expression::andBlock(Expression::isNull($right), Expression::ltEq($left, $point)), Expression::andBlock(Expression::isNull($left), Expression::isNull($right))));
return $chain;
}
示例15: prepareResponseFormat
protected function prepareResponseFormat()
{
if ($this->request->hasAttachedVar('format')) {
Assert::isNotFalse(array_search($this->request->getAttachedVar('format'), $this->allowedFormatList));
} else {
$this->request->setAttachedVar('format', self::DEFAULT_FORMAT);
}
}