Skip to content

Commit

Permalink
Merge pull request #9 from Parishop/master
Browse files Browse the repository at this point in the history
PHPDocs
  • Loading branch information
dracony committed Dec 4, 2016
2 parents 79e74ec + a1cc496 commit 82ae4ed
Show file tree
Hide file tree
Showing 19 changed files with 325 additions and 45 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -1,3 +1,4 @@
composer.phar
vendor/
composer.lock
.idea
40 changes: 34 additions & 6 deletions src/PHPixie/Auth.php
Expand Up @@ -6,8 +6,17 @@

class Auth
{
/**
* @var Auth\Builder
*/
protected $builder;


/**
* @param \PHPixie\Slice\Type\ArrayData $configData
* @param \PHPixie\Bundles\Auth $repositoryRegistry
* @param Auth\Providers\Builder[] $providerBuilders
* @param \PHPixie\Framework\Context $contextContainer
*/
public function __construct(
$configData,
$repositoryRegistry = null,
Expand All @@ -22,7 +31,10 @@ public function __construct(
$contextContainer
);
}


/**
* @return Auth\Domains
*/
public function domains()
{
return $this->builder->domains();
Expand All @@ -36,22 +48,38 @@ public function domain($name = 'default')
{
return $this->builder->domains()->get($name);
}


/**
* @return Auth\Context
*/
public function context()
{
return $this->builder->context();
}


/**
* @return Auth\Context
*/
public function buildContext()
{
return $this->builder->buildContext();
}


/**
* @return Auth\Builder
*/
public function builder()
{
return $this->builder;
}


/**
* @param \PHPixie\Slice\Type\ArrayData $configData
* @param \PHPixie\Bundles\Auth $repositoryRegistry
* @param Auth\Providers\Builder[] $providerBuilders
* @param \PHPixie\Framework\Context $contextContainer
* @return Auth\Builder
*/
protected function buildBuilder(
$configData,
$repositoryRegistry,
Expand Down
64 changes: 56 additions & 8 deletions src/PHPixie/Auth/Builder.php
Expand Up @@ -4,13 +4,34 @@

class Builder
{
/**
* @var \PHPixie\Slice\Type\ArrayData
*/
protected $configData;

/**
* @var \PHPixie\Bundles\Auth
*/
protected $repositoryRegistry;

/**
* @var Providers\Builder[]
*/
protected $providerBuilders;

/**
* @var \PHPixie\Framework\Context
*/
protected $contextContainer;

protected $instances = array();


/**
* @param \PHPixie\Slice\Type\ArrayData $configData
* @param \PHPixie\Bundles\Auth $repositoryRegistry
* @param Providers\Builder[] $providerBuilders
* @param \PHPixie\Framework\Context $contextContainer
*/
public function __construct(
$configData,
$repositoryRegistry = null,
Expand All @@ -23,22 +44,34 @@ public function __construct(
$this->providerBuilders = $providerBuilders;
$this->contextContainer = $contextContainer;
}


/**
* @return Domains
*/
public function domains()
{
return $this->instance('domains');
}

/**
* @return Providers
*/
public function providers()
{
return $this->instance('providers');
}


/**
* @return Repositories
*/
public function repositories()
{
return $this->instance('repositories');
}


/**
* @return Context\Container\Implementation
*/
public function contextContainer()
{
if($this->contextContainer === null) {
Expand All @@ -48,22 +81,37 @@ public function contextContainer()

return $this->contextContainer;
}


/**
* @return Context
*/
public function context()
{
return $this->contextContainer()->authContext();
}


/**
* @return Context
*/
public function buildContext()
{
return new Context();
}


/**
* @param Context $context
* @return Context\Container\Implementation
*/
public function buildContextContainer($context = null)
{
return new Context\Container\Implementation($context);
}


/**
* @param string $name
* @param \PHPixie\Slice\Type\ArrayData $configData
* @return Domains\Domain
*/
public function buildDomain($name, $configData)
{
return new Domains\Domain($this, $name, $configData);
Expand Down
31 changes: 27 additions & 4 deletions src/PHPixie/Auth/Context.php
Expand Up @@ -4,21 +4,40 @@

class Context
{
/**
* @var \PHPixie\AuthLogin\Repository\User[]
*/
protected $users = array();

/**
* @var array
*/
protected $usedProviders = array();


/**
* @param \PHPixie\AuthLogin\Repository\User $user
* @param string $domain
* @param string $providerName
*/
public function setUser($user, $domain = 'default', $providerName = null)
{
$this->users[$domain] = $user;
$this->usedProviders[$domain] = $providerName;
}


/**
* @param string $domain
*/
public function unsetUser($domain = 'default')
{
unset($this->users[$domain]);
unset($this->usedProviders[$domain]);
}


/**
* @param string $domain
* @return \PHPixie\AuthLogin\Repository\User
*/
public function user($domain = 'default')
{
if(array_key_exists($domain, $this->users)) {
Expand All @@ -27,7 +46,11 @@ public function user($domain = 'default')

return null;
}


/**
* @param string $domain
* @return string
*/
public function usedProvider($domain = 'default')
{
if(array_key_exists($domain, $this->usedProviders)) {
Expand Down
3 changes: 3 additions & 0 deletions src/PHPixie/Auth/Context/Container.php
Expand Up @@ -4,5 +4,8 @@

interface Container
{
/**
* @return \PHPixie\Auth\Context
*/
public function authContext();
}
13 changes: 11 additions & 2 deletions src/PHPixie/Auth/Context/Container/Implementation.php
Expand Up @@ -4,13 +4,22 @@

class Implementation implements \PHPixie\Auth\Context\Container
{
/**
* @var \PHPixie\Auth\Context
*/
protected $context;


/**
* @param \PHPixie\Auth\Context $context
*/
public function __construct($context = null)
{
$this->context = $context;
}


/**
* @return \PHPixie\Auth\Context
*/
public function authContext()
{
return $this->context;
Expand Down
3 changes: 3 additions & 0 deletions src/PHPixie/Auth/Context/Container/Settable.php
Expand Up @@ -4,5 +4,8 @@

interface Settable
{
/**
* @param \PHPixie\Auth\Context $authContext
*/
public function setAuthContext($authContext);
}
30 changes: 26 additions & 4 deletions src/PHPixie/Auth/Domains.php
Expand Up @@ -4,23 +4,45 @@

class Domains
{
/**
* @var Builder
*/
protected $builder;

/**
* @var \PHPixie\Slice\Type\ArrayData
*/
protected $configData;


/**
* @var Domains\Domain[]
*/
protected $domains = null;


/**
* @param Builder $builder
* @param \PHPixie\Slice\Type\ArrayData $configData
*/
public function __construct($builder, $configData)
{
$this->builder = $builder;
$this->configData = $configData;
}


/**
* @return Domains\Domain[]
*/
public function asArray()
{
$this->requireDomains();
return $this->domains;
}


/**
* @param string $name
* @return Domains\Domain
* @throws Exception
*/
public function get($name)
{
$this->requireDomains();
Expand Down

0 comments on commit 82ae4ed

Please sign in to comment.