Mercurial > hg > isophonics-drupal-site
comparison vendor/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 7a779792577d |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 /** | |
3 * Zend Framework (http://framework.zend.com/) | |
4 * | |
5 * @link http://github.com/zendframework/zf2 for the canonical source repository | |
6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) | |
7 * @license http://framework.zend.com/license/new-bsd New BSD License | |
8 */ | |
9 | |
10 namespace Zend\Stdlib\Guard; | |
11 | |
12 use Traversable; | |
13 | |
14 /** | |
15 * Provide a guard method for array or Traversable data | |
16 */ | |
17 trait ArrayOrTraversableGuardTrait | |
18 { | |
19 /** | |
20 * Verifies that the data is an array or Traversable | |
21 * | |
22 * @param mixed $data the data to verify | |
23 * @param string $dataName the data name | |
24 * @param string $exceptionClass FQCN for the exception | |
25 * @throws \Exception | |
26 */ | |
27 protected function guardForArrayOrTraversable( | |
28 $data, | |
29 $dataName = 'Argument', | |
30 $exceptionClass = 'Zend\Stdlib\Exception\InvalidArgumentException' | |
31 ) { | |
32 if (!is_array($data) && !($data instanceof Traversable)) { | |
33 $message = sprintf( | |
34 "%s must be an array or Traversable, [%s] given", | |
35 $dataName, | |
36 is_object($data) ? get_class($data) : gettype($data) | |
37 ); | |
38 throw new $exceptionClass($message); | |
39 } | |
40 } | |
41 } |