mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2025-02-18 23:40:09 +01:00
41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @see https://github.com/laminas/laminas-stdlib for the canonical source repository
|
|
* @copyright https://github.com/laminas/laminas-stdlib/blob/master/COPYRIGHT.md
|
|
* @license https://github.com/laminas/laminas-stdlib/blob/master/LICENSE.md New BSD License
|
|
*/
|
|
|
|
namespace Laminas\Stdlib\Guard;
|
|
|
|
use Traversable;
|
|
|
|
/**
|
|
* Provide a guard method for array or Traversable data
|
|
*/
|
|
trait ArrayOrTraversableGuardTrait
|
|
{
|
|
/**
|
|
* Verifies that the data is an array or Traversable
|
|
*
|
|
* @param mixed $data the data to verify
|
|
* @param string $dataName the data name
|
|
* @param string $exceptionClass FQCN for the exception
|
|
* @throws \Exception
|
|
*/
|
|
protected function guardForArrayOrTraversable(
|
|
$data,
|
|
$dataName = 'Argument',
|
|
$exceptionClass = 'Laminas\Stdlib\Exception\InvalidArgumentException'
|
|
) {
|
|
if (! is_array($data) && ! ($data instanceof Traversable)) {
|
|
$message = sprintf(
|
|
"%s must be an array or Traversable, [%s] given",
|
|
$dataName,
|
|
is_object($data) ? get_class($data) : gettype($data)
|
|
);
|
|
throw new $exceptionClass($message);
|
|
}
|
|
}
|
|
}
|