public function setUp() { $this->controller = $controller = new RestController(); $this->router = $router = new SimpleRouteStack(); $route = new Segment('/resource[/[:id]]'); $router->addRoute('resource', $route); $this->event = $event = new MvcEvent(); $event->setRouter($router); $event->setRouteMatch(new RouteMatch(array())); $controller->setEvent($event); $controller->setRoute('resource'); $pluginManager = new PluginManager(); $pluginManager->setService('bodyParams', new BodyParams()); $controller->setPluginManager($pluginManager); $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $linksHelper = new HalHelper(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $pluginManager->setService('Hal', $linksHelper); $linksHelper->setController($controller); $this->resource = $resource = new Resource(); $controller->setResource($resource); }
public function setUp() { $this->router = $router = new TreeRouteStack(); $route = new Segment('/resource[/[:id]]'); $router->addRoute('resource', $route); $route2 = new Segment('/help'); $router->addRoute('docs', $route2); $router->addRoute('hostname', ['type' => 'hostname', 'options' => ['route' => 'localhost.localdomain'], 'child_routes' => ['resource' => ['type' => 'segment', 'options' => ['route' => '/resource[/:id]'], 'may_terminate' => true, 'child_routes' => ['children' => ['type' => 'literal', 'options' => ['route' => '/children']]]], 'users' => ['type' => 'segment', 'options' => ['route' => '/users[/:id]']], 'contacts' => ['type' => 'segment', 'options' => ['route' => '/contacts[/:id]']], 'embedded' => ['type' => 'segment', 'options' => ['route' => '/embedded[/:id]']], 'embedded_custom' => ['type' => 'segment', 'options' => ['route' => '/embedded_custom[/:custom_id]']]]]); $this->event = $event = new MvcEvent(); $event->setRouter($router); $router->setRequestUri(new Http('http://localhost.localdomain/resource')); $controller = $this->controller = $this->getMock('Zend\\Mvc\\Controller\\AbstractRestfulController'); $controller->expects($this->any())->method('getEvent')->will($this->returnValue($event)); $this->urlHelper = $urlHelper = new UrlHelper(); $urlHelper->setRouter($router); $this->serverUrlHelper = $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $this->plugin = $plugin = new HalHelper(); $plugin->setController($controller); $plugin->setUrlHelper($urlHelper); $plugin->setServerUrlHelper($serverUrlHelper); $linkExtractor = new LinkExtractor($serverUrlHelper, $urlHelper); $linkCollectionExtractor = new LinkCollectionExtractor($linkExtractor); $plugin->setLinkCollectionExtractor($linkCollectionExtractor); }
public function setupHelpers() { if (!$this->router) { $this->setupRouter(); } $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $linksHelper = new HalHelper(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('hal', $linksHelper); $this->plugins = $plugins = new ControllerPluginManager(); $plugins->setService('hal', $linksHelper); }
public function setUpHelpers() { if (isset($this->helpers)) { return; } $this->setupRouter(); $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $this->linksHelper = $linksHelper = new HalHelper(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('hal', $linksHelper); }
public function setUpHelpers() { // need to setup routes // need to get a url and serverurl helper that have appropriate injections $this->router = $router = new TreeRouteStack(); $this->entityRoute = new Segment('/resource[/[:id]]'); $this->router->addRoute('resource', $this->entityRoute); $this->helpers = $helpers = new HelperPluginManager(); $serverUrl = $helpers->get('ServerUrl'); $url = $helpers->get('url'); $url->setRouter($router); $serverUrl->setScheme('http'); $serverUrl->setHost('localhost.localdomain'); $halLinks = new HalHelper(); $halLinks->setServerUrlHelper($serverUrl); $halLinks->setUrlHelper($url); $helpers->setService('Hal', $halLinks); $this->renderer->setHelperPluginManager($helpers); }
/** * @group 125 */ public function testSetUrlHelperRaisesExceptionIndicatingDeprecation() { $this->setExpectedException(Exception\DeprecatedMethodException::class, 'can no longer be used to influence URL generation'); $this->plugin->setUrlHelper(function () { }); }
/** * Defines the "Hal" view helper * * @return array */ public function getViewHelperConfig() { return array('factories' => array('Hal' => function ($helpers) { $serverUrlHelper = $helpers->get('ServerUrl'); $urlHelper = $helpers->get('Url'); $services = $helpers->getServiceLocator(); $config = $services->get('Config'); $metadataMap = $services->get('ZF\\Hal\\MetadataMap'); $hydrators = $metadataMap->getHydratorManager(); $helper = new Plugin\Hal($hydrators); $helper->setMetadataMap($metadataMap); $helper->setServerUrlHelper($serverUrlHelper); $helper->setUrlHelper($urlHelper); if (isset($config['zf-hal']) && isset($config['zf-hal']['renderer'])) { $config = $config['zf-hal']['renderer']; if (isset($config['default_hydrator'])) { $hydratorServiceName = $config['default_hydrator']; if (!$hydrators->has($hydratorServiceName)) { throw new Exception\DomainException(sprintf('Cannot locate default hydrator by name "%s" via the HydratorManager', $hydratorServiceName)); } $hydrator = $hydrators->get($hydratorServiceName); $helper->setDefaultHydrator($hydrator); } if (isset($config['render_embedded_resources'])) { $helper->setRenderEmbeddedEntities($config['render_embedded_resources']); } if (isset($config['render_embedded_entities'])) { $helper->setRenderEmbeddedEntities($config['render_embedded_entities']); } if (isset($config['render_collections'])) { $helper->setRenderCollections($config['render_collections']); } if (isset($config['hydrators']) && is_array($config['hydrators'])) { $hydratorMap = $config['hydrators']; foreach ($hydratorMap as $class => $hydratorServiceName) { $helper->addHydrator($class, $hydratorServiceName); } } } return $helper; })); }