From 4d8fae2fbe640a89cd612fe50ea86a901b8ec833 Mon Sep 17 00:00:00 2001 From: Christian Kerl Date: Fri, 7 Jan 2011 23:01:34 +0100 Subject: [PATCH] added Assert class to simplify method parameter validation --- Util/Assert.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Util/Assert.php diff --git a/Util/Assert.php b/Util/Assert.php new file mode 100644 index 0000000..93daab8 --- /dev/null +++ b/Util/Assert.php @@ -0,0 +1,34 @@ + + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +namespace Bundle\WebServiceBundle\Util; + +/** + * + * @author Christian Kerl + */ +class Assert +{ + const ARGUMENT_INVALID = "Argument '%s' is invalid!"; + const ARGUMENT_NULL = "Argument '%s' can't be null!"; + + public static function thatArgument($name, $condition, $message = self::ARGUMENT_INVALID) + { + if(!$condition) + { + throw new \InvalidArgumentException(sprintf($message, $name)); + } + } + + public static function thatArgumentNotNull($name, $value) + { + self::thatArgument($name, $value != null, self::ARGUMENT_NULL); + } +}