public function setUp() { $this->controller = $controller = new ResourceController(); $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(); $controller->setPluginManager($pluginManager); $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $linksHelper = new Plugin\HalLinks(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $pluginManager->setService('HalLinks', $linksHelper); $linksHelper->setController($controller); $this->resource = $resource = new Resource(); $controller->setResource($resource); }
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 HalLinks(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('halLinks', $linksHelper); }
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 HalLinks(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('halLinks', $linksHelper); $this->plugins = $plugins = new ControllerPluginManager(); $plugins->setService('halLinks', $linksHelper); }
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', array('type' => 'hostname', 'options' => array('route' => 'localhost.localdomain'), 'child_routes' => array('resource' => array('type' => 'segment', 'options' => array('route' => '/resource[/:id]'), 'may_terminate' => true, 'child_routes' => array('children' => array('type' => 'literal', 'options' => array('route' => '/children')))), 'users' => array('type' => 'segment', 'options' => array('route' => '/users[/:id]')), 'contacts' => array('type' => 'segment', 'options' => array('route' => '/contacts[/:id]')), 'embedded' => array('type' => 'segment', 'options' => array('route' => '/embedded[/:id]')), 'embedded_custom' => array('type' => 'segment', 'options' => array('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('PhlyRestfully\\ResourceController'); $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 HalLinks(); $plugin->setController($controller); $plugin->setUrlHelper($urlHelper); $plugin->setServerUrlHelper($serverUrlHelper); }
/** * Inject the helper manager with the HalLinks helper * * @param HelperPluginManager $helpers */ protected function injectHalLinksHelper(HelperPluginManager $helpers) { $helper = new HalLinks(); $helper->setView($this); $helper->setServerUrlHelper($helpers->get('ServerUrl')); $helper->setUrlHelper($helpers->get('Url')); $helpers->setService('HalLinks', $helper); }
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->resourceRoute = new Segment('/resource[/[:id]]'); $this->router->addRoute('resource', $this->resourceRoute); $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 HalLinks(); $halLinks->setServerUrlHelper($serverUrl); $halLinks->setUrlHelper($url); $helpers->setService('HalLinks', $halLinks); $this->renderer->setHelperPluginManager($helpers); }
/** * Defines the "HalLinks" view helper * * @return array */ public function getViewHelperConfig() { return array('factories' => array('HalLinks' => function ($helpers) { $serverUrlHelper = $helpers->get('ServerUrl'); $urlHelper = $helpers->get('Url'); $services = $helpers->getServiceLocator(); $config = $services->get('Config'); $metadataMap = $services->get('PhlyRestfully\\MetadataMap'); $hydrators = $metadataMap->getHydratorManager(); $helper = new Plugin\HalLinks($hydrators); $helper->setMetadataMap($metadataMap); $helper->setServerUrlHelper($serverUrlHelper); $helper->setUrlHelper($urlHelper); if (isset($config['phlyrestfully']) && isset($config['phlyrestfully']['renderer'])) { $config = $config['phlyrestfully']['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['hydrators']) && is_array($config['hydrators'])) { $hydratorMap = $config['hydrators']; foreach ($hydratorMap as $class => $hydratorServiceName) { $helper->addHydrator($class, $hydratorServiceName); } } } return $helper; })); }