* serverurlhelper change

This commit is contained in:
Danyi Dávid 2018-01-18 21:09:37 +01:00
parent d67b145f56
commit 491e572228
4 changed files with 37 additions and 12 deletions

View File

@ -1,5 +1,6 @@
<?php
use App\Helper as AppHelper;
use Zend\Expressive\Application;
use Zend\Expressive\Container;
use Zend\Expressive\Delegate;
@ -21,12 +22,12 @@ return [
// class name.
'invokables' => [
// Fully\Qualified\InterfaceName::class => Fully\Qualified\ClassName::class,
Helper\ServerUrlHelper::class => Helper\ServerUrlHelper::class,
],
// Use 'factories' for services provided by callbacks/factory classes.
'factories' => [
Application::class => Container\ApplicationFactory::class,
Delegate\NotFoundDelegate::class => Container\NotFoundDelegateFactory::class,
Helper\ServerUrlHelper::class => AppHelper\ServerUrlHelperFactory::class,
Helper\ServerUrlMiddleware::class => Helper\ServerUrlMiddlewareFactory::class,
Helper\UrlHelper::class => Helper\UrlHelperFactory::class,
Helper\UrlHelperMiddleware::class => Helper\UrlHelperMiddlewareFactory::class,

View File

@ -1,21 +1,10 @@
<?php
return [
'los_basepath' => '/cps',
'dependencies' => [
'factories' => [
LosMiddleware\BasePath\BasePath::class => LosMiddleware\BasePath\BasePathFactory::class,
],
],
'middleware_pipeline' => [
'always' => [
'middleware' => [
LosMiddleware\BasePath\BasePath::class
],
],
],
];

View File

@ -17,6 +17,7 @@ use Zend\Stratigility\Middleware\ErrorHandler;
// all Exceptions.
$app->pipe(ErrorHandler::class);
$app->pipe(ServerUrlMiddleware::class);
$app->pipe(LosMiddleware\BasePath\BasePath::class);
// Pipe more middleware here that you want to execute on every request:
// - bootstrapping

View File

@ -0,0 +1,34 @@
<?php
namespace App\Helper;
use Psr\Container\ContainerInterface;
use Zend\Diactoros\Uri;
use Zend\Expressive\Helper\ServerUrlHelper;
class ServerUrlHelperFactory
{
/**
* Create a UrlHelper instance.
*
* @param ContainerInterface $container
* @return ServerUrlHelper
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function __invoke(ContainerInterface $container)
{
$config = $container->get('config');
$path = array_key_exists('los_basepath', $config) && !empty($config['los_basepath'])
? $config['los_basepath']
: null;
$serverUrlHelper = new ServerUrlHelper();
if ($path) {
$uri = (new Uri())->withPath($path);
$serverUrlHelper->setUri($uri);
}
return $serverUrlHelper;
}
}