/** * Creates the installation request. * * @param ResourceInstaller $installer The used resource installer. * @param InstallerDescriptor $installerDescriptor The descriptor of the * resource installer. * @param ResourceCollection $resources The resources to install. * @param AssetMapping $mapping The asset mapping. * @param Server $server The asset server. * @param string $rootDir The project's root directory. */ public function __construct(ResourceInstaller $installer, InstallerDescriptor $installerDescriptor, ResourceCollection $resources, AssetMapping $mapping, Server $server, $rootDir) { $glob = $mapping->getGlob(); $parameterValues = $server->getParameterValues(); $this->validateParameterValues($parameterValues, $installerDescriptor); $this->installer = $installer; $this->installerDescriptor = $installerDescriptor; $this->resources = $resources; $this->mapping = $mapping; $this->server = $server; $this->rootDir = $rootDir; $this->basePath = Glob::isDynamic($glob) ? Glob::getBasePath($glob) : $glob; $this->parameterValues = array_replace($installerDescriptor->getParameterValues(), $parameterValues); }
private function serverToData(Server $server) { $data = new stdClass(); $data->installer = $server->getInstallerName(); $data->{'document-root'} = $server->getDocumentRoot(); if (Server::DEFAULT_URL_FORMAT !== ($urlFormat = $server->getUrlFormat())) { $data->{'url-format'} = $urlFormat; } if ($parameters = $server->getParameterValues()) { $data->parameters = (object) $parameters; } return $data; }
private function serversEqual(Server $server1, Server $server2) { if ($server1->getName() !== $server2->getName()) { return false; } if ($server1->getInstallerName() !== $server2->getInstallerName()) { return false; } if ($server1->getDocumentRoot() !== $server2->getDocumentRoot()) { return false; } if ($server1->getUrlFormat() !== $server2->getUrlFormat()) { return false; } $parameters1 = $server1->getParameterValues(); $parameters2 = $server2->getParameterValues(); ksort($parameters1); ksort($parameters2); if ($parameters1 !== $parameters2) { return false; } return true; }
public function testCreateWithDefaultUrlFormat() { $server = new Server('localhost', 'symlink', 'web/assets'); $this->assertSame('/%s', $server->getUrlFormat()); $this->assertSame(array(), $server->getParameterValues()); }