/** * Gets the namespace for this object or class * * @param string|object $objOrClass * @return string */ protected function statefulNamespace($classOrObject) { if (is_object($classOrObject) || class_exists($classOrObject)) { return ObjectResolverSingleton::fullyQualifiedNamespace($classOrObject); } $thisNamespace = ObjectResolverSingleton::fullyQualifiedNamespace($this); $stateNamespace = ObjectResolverSingleton::fullyQualifiedNamespace("{$thisNamespace}\\{$classOrObject}"); if ($stateNamespace !== false) { return $stateNamespace; } throw new InvalidState("Could not find state: [{$classOrObject}]"); }