@@ -377,15 +377,9 @@ private function addServiceReturn($id, $definition)
377
377
*/
378
378
private function addServiceInstance ($ id , Definition $ definition )
379
379
{
380
- $ class = $ definition ->getClass ();
381
-
382
- if ('\\' === substr ($ class , 0 , 1 )) {
383
- $ class = substr ($ class , 1 );
384
- }
385
-
386
- $ class = $ this ->dumpValue ($ class );
380
+ $ class = $ this ->dumpValue ($ definition ->getClass ());
387
381
388
- if (0 === strpos ($ class , "' " ) && !preg_match ('/^ \'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*( \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
382
+ if (0 === strpos ($ class , "' " ) && !preg_match ('/^ \'(?: \\ \{2})? [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?: \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
389
383
throw new InvalidArgumentException (sprintf ('"%s" is not a valid class name for the "%s" service. ' , $ class , $ id ));
390
384
}
391
385
@@ -1440,11 +1434,13 @@ private function dumpLiteralClass($class)
1440
1434
if (false !== strpos ($ class , '$ ' )) {
1441
1435
throw new RuntimeException ('Cannot dump definitions which have a variable class name. ' );
1442
1436
}
1443
- if (0 !== strpos ($ class , "' " ) || !preg_match ('/^ \'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*( \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
1437
+ if (0 !== strpos ($ class , "' " ) || !preg_match ('/^ \'(?: \\ \{2})? [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?: \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
1444
1438
throw new RuntimeException (sprintf ('Cannot dump definition because of invalid class name (%s) ' , $ class ?: 'n/a ' ));
1445
1439
}
1446
1440
1447
- return '\\' .substr (str_replace ('\\\\' , '\\' , $ class ), 1 , -1 );
1441
+ $ class = substr (str_replace ('\\\\' , '\\' , $ class ), 1 , -1 );
1442
+
1443
+ return 0 === strpos ($ class , '\\' ) ? $ class : '\\' .$ class ;
1448
1444
}
1449
1445
1450
1446
/**
0 commit comments