/** * Resolve unregistered resolvable * * @param array $params * @return null|void */ public function resolve($params = []) { parent::resolve($params); if (!ResolvableAuthorizationRegistry::isRegistered($this->resolvable)) { $this->manager->resolve($this->resolvable, $params); } }
/** * Resolve unregistered resolvables * * @param array $params * @return null|void */ public function resolve($params = []) { foreach ($this->resolvables as $resolvable) { if (!ResolvableAuthorizationRegistry::isRegistered($resolvable)) { $this->manager->resolve($resolvable, $params); } } }
/** * Test that register function register an authorization */ public function testRegister() { $callback = function () { }; $this->manager->registerResolvable('name', $this->manager->context($callback)); $this->assertTrue(ResolvableAuthorizationRegistry::isRegistered('name')); $resolvable = ResolvableAuthorizationRegistry::get('name'); $this->assertInstanceOf("ResolveAuth\\Authorization\\Resolvable\\ContextAuthorization", $resolvable); }
/** * Resolve unregistered resolvable authorizations contained in rules * * @param string $authorizedValue Resolve only authorization with the specified authorized value or "*" * @return null */ public function resolveUnregistered($authorizedValue = null) { foreach ($this->rules as $rule) { if ($authorizedValue && !in_array($authorizedValue, $rule->authorizedValues) && !in_array('*', $rule->authorizedValues)) { continue; } if (!ResolvableAuthorizationRegistry::isRegistered($rule->resolvableAuthorization) && !$rule->resolvableAuthorization->resolved()) { $this->resolve($rule->resolvableAuthorization); } } }