Skip to content

Commit 0ac6d3b

Browse files
committed
more readable exception strings
1 parent bbec33d commit 0ac6d3b

File tree

5 files changed

+14
-15
lines changed

5 files changed

+14
-15
lines changed

src/DI/Compiler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ public static function parseService(ServiceDefinition $definition, $config)
253253

254254
$known = array('class', 'create', 'arguments', 'setup', 'autowired', 'inject', 'parameters', 'implement', 'run', 'tags');
255255
if ($error = array_diff(array_keys($config), $known)) {
256-
throw new Nette\InvalidStateException("Unknown or deprecated key '" . implode("', '", $error) . "' in definition of service.");
256+
throw new Nette\InvalidStateException(sprintf("Unknown or deprecated key '%s' in definition of service.", implode("', '", $error)));
257257
}
258258

259259
$arguments = array();

src/DI/Config/Adapters/IniAdapter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ private static function build($input, & $output, $prefix)
135135
$output[] = "$prefix$key = \"$val\"";
136136

137137
} else {
138-
throw new Nette\InvalidArgumentException("The '$prefix$key' item must be scalar or array, " . gettype($val) ." given.");
138+
throw new Nette\InvalidArgumentException(sprintf("The '%s' item must be scalar or array, %s given.", $prefix . $key, gettype($val)));
139139
}
140140
}
141141
}

src/DI/Container.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,18 @@ public function addService($name, $service)
6060
throw new Nette\DeprecatedException('Parameter $meta has been removed.');
6161

6262
} elseif (!is_string($name) || !$name) {
63-
throw new Nette\InvalidArgumentException('Service name must be a non-empty string, ' . gettype($name) . ' given.');
63+
throw new Nette\InvalidArgumentException(sprintf('Service name must be a non-empty string, %s given.', gettype($name)));
6464

6565
} elseif (isset($this->registry[$name])) {
6666
throw new Nette\InvalidStateException("Service '$name' already exists.");
6767

6868
} elseif (is_string($service) || is_array($service) || $service instanceof \Closure || $service instanceof Nette\Callback) {
69-
trigger_error('Passing factories to ' . __METHOD__ . '() is deprecated; pass the object itself.', E_USER_DEPRECATED);
69+
trigger_error(sprintf('Passing factories to %s() is deprecated; pass the object itself.', __METHOD__), E_USER_DEPRECATED);
7070
$service = is_string($service) && !preg_match('#\x00|:#', $service) ? new $service : call_user_func($service, $this);
7171
}
7272

7373
if (!is_object($service)) {
74-
throw new Nette\InvalidArgumentException('Service must be a object, ' . gettype($service) . ' given.');
74+
throw new Nette\InvalidArgumentException(sprintf('Service must be a object, %s given.', gettype($service)));
7575
}
7676

7777
$this->registry[$name] = $service;
@@ -141,8 +141,7 @@ public function createService($name, array $args = array())
141141
{
142142
$method = Container::getMethodName($name);
143143
if (isset($this->creating[$name])) {
144-
throw new Nette\InvalidStateException("Circular reference detected for services: "
145-
. implode(', ', array_keys($this->creating)) . ".");
144+
throw new Nette\InvalidStateException(sprintf('Circular reference detected for services: %s.', implode(', ', array_keys($this->creating))));
146145

147146
} elseif (!method_exists($this, $method) || $this->getReflection()->getMethod($method)->getName() !== $method) {
148147
throw new MissingServiceException("Service '$name' not found.");
@@ -244,7 +243,7 @@ public function createInstance($class, array $args = array())
244243
public function callInjects($service)
245244
{
246245
if (!is_object($service)) {
247-
throw new Nette\InvalidArgumentException('Service must be object, ' . gettype($service) . ' given.');
246+
throw new Nette\InvalidArgumentException(sprintf('Service must be object, %s given.', gettype($service)));
248247
}
249248

250249
foreach (array_reverse(get_class_methods($service)) as $method) {

src/DI/ContainerBuilder.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ContainerBuilder extends Nette\Object
5353
public function addDefinition($name, ServiceDefinition $definition = NULL)
5454
{
5555
if (!is_string($name) || !$name) { // builder is not ready for falsy names such as '0'
56-
throw new Nette\InvalidArgumentException("Service name must be a non-empty string, " . gettype($name) . " given.");
56+
throw new Nette\InvalidArgumentException(sprintf('Service name must be a non-empty string, %s given.', gettype($name)));
5757

5858
} elseif (isset($this->definitions[$name])) {
5959
throw new Nette\InvalidStateException("Service '$name' has already been added.");
@@ -295,7 +295,7 @@ public function prepareClassList()
295295
private function resolveClass($name, $recursive = array())
296296
{
297297
if (isset($recursive[$name])) {
298-
throw new ServiceCreationException('Circular reference detected for services: ' . implode(', ', array_keys($recursive)) . '.');
298+
throw new ServiceCreationException(sprintf('Circular reference detected for services: %s.', implode(', ', array_keys($recursive))));
299299
}
300300
$recursive[$name] = TRUE;
301301

@@ -320,12 +320,12 @@ private function resolveClass($name, $recursive = array())
320320
}
321321
}
322322
if (!is_callable($factory)) {
323-
throw new ServiceCreationException("Factory '" . Nette\Utils\Callback::toString($factory) . "' is not callable.");
323+
throw new ServiceCreationException(sprintf("Factory '%s' is not callable.", Nette\Utils\Callback::toString($factory)));
324324
}
325325
try {
326326
$reflection = Nette\Utils\Callback::toReflection($factory);
327327
} catch (\ReflectionException $e) {
328-
throw new ServiceCreationException("Missing factory '" . Nette\Utils\Callback::toString($factory) . "'.");
328+
throw new ServiceCreationException(sprintf("Missing factory '%s'.", Nette\Utils\Callback::toString($factory)));
329329
}
330330
$def->class = preg_replace('#[|\s].*#', '', $reflection->getAnnotation('return'));
331331
if ($def->class && $reflection instanceof \ReflectionMethod) {
@@ -413,7 +413,7 @@ public function generateClasses($className = 'Container', $parentName = 'Nette\D
413413
throw new ServiceCreationException('Name contains invalid characters.');
414414
}
415415
$containerClass->addMethod($methodName)
416-
->addDocument("@return " . ($def->implement ?: $def->class))
416+
->addDocument('@return ' . ($def->implement ?: $def->class))
417417
->setBody($name === self::THIS_CONTAINER ? 'return $this;' : $this->generateService($name))
418418
->setParameters($def->implement ? array() : $this->convertParameters($def->parameters));
419419
} catch (\Exception $e) {
@@ -564,7 +564,7 @@ public function formatStatement(Statement $statement)
564564
return $this->formatPhp("new $entity" . ($arguments ? '(?*)' : ''), array($arguments));
565565

566566
} elseif (!Nette\Utils\Arrays::isList($entity) || count($entity) !== 2) {
567-
throw new ServiceCreationException("Expected class, method or property, " . PhpHelpers::dump($entity) . " given.");
567+
throw new ServiceCreationException(sprintf('Expected class, method or property, %s given.', PhpHelpers::dump($entity)));
568568

569569
} elseif ($entity[0] === '') { // globalFunc
570570
return $this->formatPhp("$entity[1](?*)", array($arguments));

src/DI/Helpers.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static function expand($var, array $params, $recursive = FALSE)
5656
$res .= '%';
5757

5858
} elseif (isset($recursive[$part])) {
59-
throw new Nette\InvalidArgumentException('Circular reference detected for variables: ' . implode(', ', array_keys($recursive)) . '.');
59+
throw new Nette\InvalidArgumentException(sprintf('Circular reference detected for variables: %s.', implode(', ', array_keys($recursive))));
6060

6161
} else {
6262
try {

0 commit comments

Comments
 (0)