for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (C) eZ Systems AS. All rights reserved.
* @license For full copyright and license information view LICENSE file distributed with this source code.
*/
declare(strict_types=1);
namespace eZ\Publish\Core\MVC\Symfony\SiteAccess\Provider;
use ArrayIterator;
use eZ\Publish\Core\MVC\Symfony\SiteAccess;
use eZ\Publish\Core\MVC\Symfony\SiteAccess\SiteAccessProviderInterface;
use Iterator;
final class StaticSiteAccessProvider implements SiteAccessProviderInterface
{
/** @var string[] */
private $siteAccessList;
* @param string[] $siteAccessList
public function __construct(
array $siteAccessList
) {
$this->siteAccessList = $siteAccessList;
}
public function getSiteAccesses(): Iterator
$siteAccesses = [];
foreach ($this->siteAccessList as $name) {
$siteAccesses[] = new SiteAccess($name, null, null, self::class);
return new ArrayIterator($siteAccesses);
public function isDefined(string $name): bool
return \in_array($name, $this->siteAccessList, true);
public function getSiteAccess(string $name): SiteAccess
return new SiteAccess($name, null, null, self::class);