$request Seems to have multiple copies of POST/Server data

Hi Guys

I have a concern with $request inside my Controllers.
When I var_dump($request) in one of my POST methods, I see multiple instances, like 15, of all the POSTed data? This doesn’t seem normal to me.

Example: inside a Class, i have a method:

public function updateRequest($request, $response){

    var_dump($request); die;

}

I basically have a frontend view file with a form, and it submits, for example, two input fields - api_label, api_url.
When I var_dump($request) i find 15 instances of api_label and api_url.

It kind of seems to me like the more Controllers I define in my app.php file, the more data there is inside $request.

I have an app.php bootstrap file that i use to init all my controllers and dependencies, which looks like this:

<?php
// bootstrap/app.php
// This is the application bootstrap file. 
// All dependencies will be loaded in here.
//
// AMAZON
// Access Key ID:
// 
// Secret Access Key:
// 
///////////////////////////////////////////


use Respect\Validation\Validator as Validate;


// Start session
session_start();


// Require composer autoload file.
require __DIR__ . '/../vendor/autoload.php';


// Instantiate slim app instance - vendor/slim/Slim/App.php
// Array passed to slim app are config settings
$app = new \Slim\App([

    'settings' => [

        'displayErrorDetails'   => true, // set to false for production

        'database'              => [ // database details array

            'driver'                => 'mysql',
            'host'                  => 'localhost',
            'username'              => 'root',
            'password'              => 'root',
            'database'              => 'dbtest',
            'charset'               => 'utf8'

        ]

    ]

]);


// Before loading routes, retrieve Dependency Injection Container where app dependencies are stored in.
$di_container = $app->getContainer();


// Load illuminate capsule - for using Eloquent
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($di_container['settings']['database']); // use db settings stored in DI Container
$capsule->setAsGlobal(); // set globally in order to use models
$capsule->bootEloquent();


// Store db capsule in DI Container for access inside our controllers
$di_container['database'] = function($di_container) use ($capsule) {

    return $capsule;

};


// Add Auth class to DI Container
$di_container['auth'] = function (){

    return new \App\Auth\Auth;

};


// Add Communication class to DI Container

$di_container['sesm'] = function (){

    return new SimpleEmailServiceMessage();

};
$di_container['ses'] = function (){

    $region_endpoint = SimpleEmailService::AWS_US_WEST_2;
    return new SimpleEmailService('', '', $region_endpoint);

};


// Attach view instance to DI Container
$di_container['view'] = function ($di_container){

    $view = new \Slim\Views\Twig( __DIR__ . '/../resources/views/', [

        'cache' => false // turn caching off

    ]); // set default path for views

    $view->addExtension( new \Slim\Views\TwigExtension(
        $di_container->router,
        $di_container->request->getUri()
    ));

    // Add global auth var to use for authentication on views
    $view->getEnvironment()->addGlobal('auth', [

        'isLoggedIn'        => $di_container->auth->isLoggedIn(),
        'getLoggedInPerson' => $di_container->auth->getLoggedInPerson()

    ]);

    return $view;

};


// Attach Validator to DI Container
$di_container['validator'] = function ($di_container){

    return new App\Validation\Validator;

};


// Bind Controller names to DI Container
// Will return an instance of the controller by name specified
$di_container['HomeController'] = function ($di_container){

    return new \App\Controllers\HomeController($di_container);

};
$di_container['AuthController'] = function ($di_container){

    return new \App\Controllers\AuthController($di_container);

};
$di_container['DashboardController'] = function ($di_container){

    return new \App\Controllers\DashboardController($di_container);

};
$di_container['PayController'] = function ($di_container){

    return new \App\Controllers\PayController($di_container);

};
$di_container['ApiController'] = function ($di_container){

    return new \App\Controllers\ApiController($di_container);

};
$di_container['RequestController'] = function ($di_container){

    return new \App\Controllers\RequestController($di_container);

};
$di_container['csrf'] = function ($di_container){

    $guard = new \Slim\Csrf\Guard();
    $guard->setFailureCallable(function ($request, $response, $next) {
        $request = $request->withAttribute("csrf_status", false);
        return $next($request, $response);
    });
    return $guard;

};
$di_container['communication'] = function ($di_container){

    return new \App\Communication\Communication($di_container);

};


// Add Middleware to our app
$app->add(new \App\Middleware\ValidationErrorsMiddleware($di_container));
$app->add(new \App\Middleware\PersistInputMiddleware($di_container));
// Bind CSRF Middleware to DI Container
// $app->add(new \App\Middleware\CsrfViewMiddleware($di_container));
// $app->add($di_container->csrf);



// Add new custom rules to Respect/Validation library
Validate::with('App\\Validation\\Rules\\');

// print_r('<pre>');
// print_r($app);
// print_r('</pre>');
// die;


// Routes:
require __DIR__ . '/../app/routes/routes.php';

Can anyone make sense of this and please assist me?
I am not sure what I’m doing wrong.

Many thanks!

I can’t see why this would be happening. It’s probably a problem in your middleware

Hmmmmm

Something like this maybe?

class PersistInputMiddleware extends BaseMiddleware{

public function __invoke($request, $response, $next){

    // Add 'errors' global variable in twig to use in view
    $this->di_container->view->getEnvironment()->addGlobal('persist', $_SESSION['persist']);
    $_SESSION['persist'] = $request->getParams();

    $response = $next($request, $response);

    return $response;

}

}

well, it doesn’t seem to be that $_SESSION var, at least. I unset that in my view’s controller. Didn’t help.

Most of my middleware files look like this

class AuthMiddleware extends BaseMiddleware{

public function __invoke($request, $response, $next){
    
    // Check if Person is not signed in.
    if(!$this->di_container->auth->isLoggedIn()){

        return $response->withRedirect($this->di_container->router->pathFor('auth.signin'));
        
    }
    
    $response = $next($request, $response);

    return $response;

}

}

and Basemiddle:

class BaseMiddleware{

protected $di_container;


public function __construct($di_container){

    $this->di_container = $di_container;

}

}

OK from what i can see so far, is that the routes.php file that I require at the end of my app.php file increases my var_dump($di_container) size for every route I declare. However, no matter how many routes or controllers I remove from my app.php file, or routes.php, the $request var still stays huge.

This is what my routes file looks like:

<?php 
// app/routes/routes.php
// This is the routes file.


// Homepage 
// $app->get('/', function($request, $response){

//     return $this->view->render($response, '/home/home.twig');

// });

use App\Middleware\AuthMiddleware;
use App\Middleware\GuestMiddleware;


$app->get('/', 'HomeController:index')->setName('home');

// API ROUTES
$app->post('/api/request', 'ApiController:postRequest');

// GUEST GROUP
$app->group('', function () {

    // Sign Up page
    $this->get('/signup', 'AuthController:getSignUp')->setName('auth.signup'); // Only need to set name once
    $this->post('/signup', 'AuthController:postSignUp');

    // Sign In page
    $this->get('/signin', 'AuthController:getSignIn')->setName('auth.signin');
    $this->post('/signin', 'AuthController:postSignIn');

    // Invoice Payment page
    $this->get('/pay/invoice', 'PayController:getInvoice')->setName('pay.invoice');
    $this->post('/pay/invoice', 'PayController:postInvoice');


})->add(new GuestMiddleware($di_container))->add($di_container->csrf);



// AUTH GROUP
$app->group('', function () {

    // Sign Out page
    $this->get('/signout', 'AuthController:getSignOut')->setName('auth.signout');

    ///////////////////
    // DASHBOARD PAGES
    ///////////////////
    $this->get('/dashboard', 'DashboardController:index')->setName('dash');

    $this->get('/dashboard/welcome', 'DashboardController:getWelcome')->setName('dash.welcome');
    // $this->get('/dashboard/settings', 'DashboardController:getSettings')->setName('dash.settings');
    $this->post('/dashboard/settings', 'DashboardController:postSettings');
    $this->get('/dashboard/settings/account', 'DashboardController:getSettingsAccount')->setName('dash.settings.account');
    $this->post('/dashboard/settings/account', 'DashboardController:postSettingsAccount');

    $this->get('/dashboard/settings/apikeys', 'DashboardController:getSettingsApiKeys')->setName('dash.settings.apikeys');
    $this->get('/dashboard/settings/apikeys/create', 'DashboardController:getSettingsApiKeysCreate')->setName('dash.settings.apikeys.create');
    $this->post('/dashboard/settings/apikeys/create', 'DashboardController:postSettingsApiKeysCreate');

    $this->get('/dashboard/request/all', 'RequestController:getAllRequests')->setName('dash.request.all');
    $this->get('/dashboard/request/view/{request_id}', 'RequestController:getRequest')->setName('dash.request.view');
    $this->post('/dashboard/request/update', 'RequestController:updateRequest')->setName('dash.request.update');


})->add(new AuthMiddleware($di_container))->add($di_container->csrf);

I also created a brand new slim composer checkout.

Then only 1 index.php file with the following:

<?php use \Psr\Http\Message\ServerRequestInterface as Request; use \Psr\Http\Message\ResponseInterface as Response; require '../vendor/autoload.php'; $app = new \Slim\App; $app->get('/hello/{name}', function (Request $request, Response $response) { var_dump($request); die; return $response; }); $app->run(); And the var_dump($request) presents the following. It looks like there are multiple instances of SERVER data, like example SERVER_SOFTWARE. This seems very unnecessary and strange to me: > object(Slim\Http\Request)#38 (15) { ["method":protected]=> string(3) "GET" ["originalMethod":protected]=> string(3) "GET" ["uri":protected]=> object(Slim\Http\Uri)#28 (9) { ["scheme":protected]=> string(4) "http" ["user":protected]=> string(0) "" ["password":protected]=> string(0) "" ["host":protected]=> string(9) "localhost" ["port":protected]=> int(80) ["basePath":protected]=> string(27) "/slimtest/project/index.php" ["path":protected]=> string(10) "hello/mama" ["query":protected]=> string(0) "" ["fragment":protected]=> string(0) "" } ["requestTarget":protected]=> NULL ["queryParams":protected]=> NULL ["cookies":protected]=> array(0) { } ["serverParams":protected]=> array(33) { ["HTTP_HOST"]=> string(9) "localhost" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_UPGRADE_INSECURE_REQUESTS"]=> string(1) "1" ["HTTP_USER_AGENT"]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" ["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_DNT"]=> string(1) "1" ["HTTP_ACCEPT_ENCODING"]=> string(23) "gzip, deflate, sdch, br" ["HTTP_ACCEPT_LANGUAGE"]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" ["PATH"]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ["SERVER_SIGNATURE"]=> string(70) " > Apache/2.4.18 (Ubuntu) Server at localhost Port 80 > " ["SERVER_SOFTWARE"]=> string(22) "Apache/2.4.18 (Ubuntu)" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(3) "::1" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(3) "::1" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> string(0) "" ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(40) "/var/www/html/slimtest/project/index.php" ["REMOTE_PORT"]=> string(5) "49504" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(38) "/slimtest/project/index.php/hello/mama" ["SCRIPT_NAME"]=> string(27) "/slimtest/project/index.php" ["PATH_INFO"]=> string(11) "/hello/mama" ["PATH_TRANSLATED"]=> string(24) "/var/www/html/hello/mama" ["PHP_SELF"]=> string(38) "/slimtest/project/index.php/hello/mama" ["REQUEST_TIME_FLOAT"]=> float(1508438190.321) ["REQUEST_TIME"]=> int(1508438190) } ["attributes":protected]=> object(Slim\Collection)#47 (1) { ["data":protected]=> array(3) { ["route"]=> object(Slim\Route)#23 (13) { ["methods":protected]=> array(1) { [0]=> string(3) "GET" } ["identifier":protected]=> string(6) "route0" ["name":protected]=> NULL ["groups":protected]=> array(0) { } ["finalized":"Slim\Route":private]=> bool(true) ["outputBuffering":protected]=> string(6) "append" ["arguments":protected]=> array(1) { ["name"]=> string(4) "mama" } ["callable":protected]=> object(Closure)#19 (2) { ["this"]=> object(Slim\Container)#2 (7) { ["defaultSettings":"Slim\Container":private]=> array(7) { ["httpVersion"]=> string(3) "1.1" ["responseChunkSize"]=> int(4096) ["outputBuffering"]=> string(6) "append" ["determineRouteBeforeAppMiddleware"]=> bool(false) ["displayErrorDetails"]=> bool(false) ["addContentLengthHeader"]=> bool(true) ["routerCacheFile"]=> bool(false) } ["values":"Pimple\Container":private]=> array(11) { ["settings"]=> object(Slim\Collection)#20 (1) { ["data":protected]=> array(7) { ["httpVersion"]=> string(3) "1.1" ["responseChunkSize"]=> int(4096) ["outputBuffering"]=> string(6) "append" ["determineRouteBeforeAppMiddleware"]=> bool(false) ["displayErrorDetails"]=> bool(false) ["addContentLengthHeader"]=> bool(true) ["routerCacheFile"]=> bool(false) } } ["environment"]=> object(Slim\Http\Environment)#24 (1) { ["data":protected]=> array(33) { ["HTTP_HOST"]=> string(9) "localhost" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_UPGRADE_INSECURE_REQUESTS"]=> string(1) "1" ["HTTP_USER_AGENT"]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" ["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_DNT"]=> string(1) "1" ["HTTP_ACCEPT_ENCODING"]=> string(23) "gzip, deflate, sdch, br" ["HTTP_ACCEPT_LANGUAGE"]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" ["PATH"]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ["SERVER_SIGNATURE"]=> string(70) " > Apache/2.4.18 (Ubuntu) Server at localhost Port 80 > " ["SERVER_SOFTWARE"]=> string(22) "Apache/2.4.18 (Ubuntu)" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(3) "::1" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(3) "::1" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> string(0) "" ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(40) "/var/www/html/slimtest/project/index.php" ["REMOTE_PORT"]=> string(5) "49504" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(38) "/slimtest/project/index.php/hello/mama" ["SCRIPT_NAME"]=> string(27) "/slimtest/project/index.php" ["PATH_INFO"]=> string(11) "/hello/mama" ["PATH_TRANSLATED"]=> string(24) "/var/www/html/hello/mama" ["PHP_SELF"]=> string(38) "/slimtest/project/index.php/hello/mama" ["REQUEST_TIME_FLOAT"]=> float(1508438190.321) ["REQUEST_TIME"]=> int(1508438190) } } ["request"]=> object(Slim\Http\Request)#30 (15) { ["method":protected]=> string(3) "GET" ["originalMethod":protected]=> string(3) "GET" ["uri":protected]=> object(Slim\Http\Uri)#28 (9) { ["scheme":protected]=> string(4) "http" ["user":protected]=> string(0) "" ["password":protected]=> string(0) "" ["host":protected]=> string(9) "localhost" ["port":protected]=> int(80) ["basePath":protected]=> string(27) "/slimtest/project/index.php" ["path":protected]=> string(10) "hello/mama" ["query":protected]=> string(0) "" ["fragment":protected]=> string(0) "" } ["requestTarget":protected]=> NULL ["queryParams":protected]=> NULL ["cookies":protected]=> array(0) { } ["serverParams":protected]=> array(33) { ["HTTP_HOST"]=> string(9) "localhost" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_UPGRADE_INSECURE_REQUESTS"]=> string(1) "1" ["HTTP_USER_AGENT"]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" ["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_DNT"]=> string(1) "1" ["HTTP_ACCEPT_ENCODING"]=> string(23) "gzip, deflate, sdch, br" ["HTTP_ACCEPT_LANGUAGE"]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" ["PATH"]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ["SERVER_SIGNATURE"]=> string(70) " > Apache/2.4.18 (Ubuntu) Server at localhost Port 80 > " ["SERVER_SOFTWARE"]=> string(22) "Apache/2.4.18 (Ubuntu)" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(3) "::1" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(3) "::1" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> string(0) "" ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(40) "/var/www/html/slimtest/project/index.php" ["REMOTE_PORT"]=> string(5) "49504" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(38) "/slimtest/project/index.php/hello/mama" ["SCRIPT_NAME"]=> string(27) "/slimtest/project/index.php" ["PATH_INFO"]=> string(11) "/hello/mama" ["PATH_TRANSLATED"]=> string(24) "/var/www/html/hello/mama" ["PHP_SELF"]=> string(38) "/slimtest/project/index.php/hello/mama" ["REQUEST_TIME_FLOAT"]=> float(1508438190.321) ["REQUEST_TIME"]=> int(1508438190) } ["attributes":protected]=> object(Slim\Collection)#31 (1) { ["data":protected]=> array(0) { } } ["bodyParsed":protected]=> bool(false) ["bodyParsers":protected]=> array(4) { ["application/json"]=> object(Closure)#33 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } ["application/xml"]=> object(Closure)#34 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } ["text/xml"]=> object(Closure)#35 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } ["application/x-www-form-urlencoded"]=> object(Closure)#36 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } } ["uploadedFiles":protected]=> array(0) { } ["validMethods":protected]=> array(9) { ["CONNECT"]=> int(1) ["DELETE"]=> int(1) ["GET"]=> int(1) ["HEAD"]=> int(1) ["OPTIONS"]=> int(1) ["PATCH"]=> int(1) ["POST"]=> int(1) ["PUT"]=> int(1) ["TRACE"]=> int(1) } ["protocolVersion":protected]=> string(3) "1.1" ["headers":protected]=> object(Slim\Http\Headers)#29 (1) { ["data":protected]=> array(8) { ["host"]=> array(2) { ["value"]=> array(1) { [0]=> string(9) "localhost" } ["originalKey"]=> string(4) "Host" } ["connection"]=> array(2) { ["value"]=> array(1) { [0]=> string(10) "keep-alive" } ["originalKey"]=> string(15) "HTTP_CONNECTION" } ["upgrade-insecure-requests"]=> array(2) { ["value"]=> array(1) { [0]=> string(1) "1" } ["originalKey"]=> string(30) "HTTP_UPGRADE_INSECURE_REQUESTS" } ["user-agent"]=> array(2) { ["value"]=> array(1) { [0]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" } ["originalKey"]=> string(15) "HTTP_USER_AGENT" } ["accept"]=> array(2) { ["value"]=> array(1) { [0]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" } ["originalKey"]=> string(11) "HTTP_ACCEPT" } ["dnt"]=> array(2) { ["value"]=> array(1) { [0]=> string(1) "1" } ["originalKey"]=> string(8) "HTTP_DNT" } ["accept-encoding"]=> array(2) { ["value"]=> array(1) { [0]=> string(23) "gzip, deflate, sdch, br" } ["originalKey"]=> string(20) "HTTP_ACCEPT_ENCODING" } ["accept-language"]=> array(2) { ["value"]=> array(1) { [0]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" } ["originalKey"]=> string(20) "HTTP_ACCEPT_LANGUAGE" } } } ["body":protected]=> object(Slim\Http\RequestBody)#18 (7) { ["stream":protected]=> resource(4) of type (stream) ["meta":protected]=> NULL ["readable":protected]=> NULL ["writable":protected]=> NULL ["seekable":protected]=> NULL ["size":protected]=> NULL ["isPipe":protected]=> NULL } } ["response"]=> object(Slim\Http\Response)#26 (5) { ["status":protected]=> int(200) ["reasonPhrase":protected]=> string(0) "" ["protocolVersion":protected]=> string(3) "1.1" ["headers":protected]=> object(Slim\Http\Headers)#27 (1) { ["data":protected]=> array(1) { ["content-type"]=> array(2) { ["value"]=> array(1) { [0]=> string(24) "text/html; charset=UTF-8" } ["originalKey"]=> string(12) "Content-Type" } } } ["body":protected]=> object(Slim\Http\Body)#25 (7) { ["stream":protected]=> resource(2) of type (stream) ["meta":protected]=> NULL ["readable":protected]=> NULL ["writable":protected]=> NULL ["seekable":protected]=> NULL ["size":protected]=> NULL ["isPipe":protected]=> NULL } } ["router"]=> object(Slim\Router)#21 (8) { ["container":protected]=> *RECURSION* ["routeParser":protected]=> object(FastRoute\RouteParser\Std)#22 (0) { } ["basePath":protected]=> string(27) "/slimtest/project/index.php" ["cacheFile":protected]=> bool(false) ["routes":protected]=> array(1) { ["route0"]=> *RECURSION* } ["routeCounter":protected]=> int(1) ["routeGroups":protected]=> array(0) { } ["dispatcher":protected]=> object(FastRoute\Dispatcher\GroupCountBased)#42 (2) { ["staticRouteMap":protected]=> array(0) { } ["variableRouteData":protected]=> array(1) { ["GET"]=> array(1) { [0]=> array(2) { ["regex"]=> string(22) "~^(?|/hello/([^/]+))$~" ["routeMap"]=> array(1) { [2]=> array(2) { [0]=> string(6) "route0" [1]=> array(1) { ["name"]=> string(4) "name" } } } } } } } } ["foundHandler"]=> object(Slim\Handlers\Strategies\RequestResponse)#41 (0) { } ["phpErrorHandler"]=> object(Closure)#13 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["errorHandler"]=> object(Closure)#14 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["notFoundHandler"]=> object(Closure)#15 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } ["notAllowedHandler"]=> object(Closure)#16 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } ["callableResolver"]=> object(Slim\CallableResolver)#40 (1) { ["container":"Slim\CallableResolver":private]=> *RECURSION* } } ["factories":"Pimple\Container":private]=> object(SplObjectStorage)#4 (1) { ["storage":"SplObjectStorage":private]=> array(0) { } } ["protected":"Pimple\Container":private]=> object(SplObjectStorage)#5 (1) { ["storage":"SplObjectStorage":private]=> array(0) { } } ["frozen":"Pimple\Container":private]=> array(7) { ["settings"]=> bool(true) ["router"]=> bool(true) ["response"]=> bool(true) ["environment"]=> bool(true) ["request"]=> bool(true) ["callableResolver"]=> bool(true) ["foundHandler"]=> bool(true) } ["raw":"Pimple\Container":private]=> array(7) { ["settings"]=> object(Closure)#6 (2) { ["static"]=> array(2) { ["userSettings"]=> array(0) { } ["defaultSettings"]=> array(7) { ["httpVersion"]=> string(3) "1.1" ["responseChunkSize"]=> int(4096) ["outputBuffering"]=> string(6) "append" ["determineRouteBeforeAppMiddleware"]=> bool(false) ["displayErrorDetails"]=> bool(false) ["addContentLengthHeader"]=> bool(true) ["routerCacheFile"]=> bool(false) } } ["this"]=> *RECURSION* } ["router"]=> object(Closure)#11 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["response"]=> object(Closure)#10 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["environment"]=> object(Closure)#8 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } ["request"]=> object(Closure)#9 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["callableResolver"]=> object(Closure)#17 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["foundHandler"]=> object(Closure)#12 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } } ["keys":"Pimple\Container":private]=> array(11) { ["settings"]=> bool(true) ["environment"]=> bool(true) ["request"]=> bool(true) ["response"]=> bool(true) ["router"]=> bool(true) ["foundHandler"]=> bool(true) ["phpErrorHandler"]=> bool(true) ["errorHandler"]=> bool(true) ["notFoundHandler"]=> bool(true) ["notAllowedHandler"]=> bool(true) ["callableResolver"]=> bool(true) } } ["parameter"]=> array(2) { ["$request"]=> string(10) "" ["$response"]=> string(10) "" } } ["container":protected]=> object(Slim\Container)#2 (7) { ["defaultSettings":"Slim\Container":private]=> array(7) { ["httpVersion"]=> string(3) "1.1" ["responseChunkSize"]=> int(4096) ["outputBuffering"]=> string(6) "append" ["determineRouteBeforeAppMiddleware"]=> bool(false) ["displayErrorDetails"]=> bool(false) ["addContentLengthHeader"]=> bool(true) ["routerCacheFile"]=> bool(false) } ["values":"Pimple\Container":private]=> array(11) { ["settings"]=> object(Slim\Collection)#20 (1) { ["data":protected]=> array(7) { ["httpVersion"]=> string(3) "1.1" ["responseChunkSize"]=> int(4096) ["outputBuffering"]=> string(6) "append" ["determineRouteBeforeAppMiddleware"]=> bool(false) ["displayErrorDetails"]=> bool(false) ["addContentLengthHeader"]=> bool(true) ["routerCacheFile"]=> bool(false) } } ["environment"]=> object(Slim\Http\Environment)#24 (1) { ["data":protected]=> array(33) { ["HTTP_HOST"]=> string(9) "localhost" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_UPGRADE_INSECURE_REQUESTS"]=> string(1) "1" ["HTTP_USER_AGENT"]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" ["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_DNT"]=> string(1) "1" ["HTTP_ACCEPT_ENCODING"]=> string(23) "gzip, deflate, sdch, br" ["HTTP_ACCEPT_LANGUAGE"]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" ["PATH"]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ["SERVER_SIGNATURE"]=> string(70) " > Apache/2.4.18 (Ubuntu) Server at localhost Port 80 > " ["SERVER_SOFTWARE"]=> string(22) "Apache/2.4.18 (Ubuntu)" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(3) "::1" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(3) "::1" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> string(0) "" ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(40) "/var/www/html/slimtest/project/index.php" ["REMOTE_PORT"]=> string(5) "49504" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(38) "/slimtest/project/index.php/hello/mama" ["SCRIPT_NAME"]=> string(27) "/slimtest/project/index.php" ["PATH_INFO"]=> string(11) "/hello/mama" ["PATH_TRANSLATED"]=> string(24) "/var/www/html/hello/mama" ["PHP_SELF"]=> string(38) "/slimtest/project/index.php/hello/mama" ["REQUEST_TIME_FLOAT"]=> float(1508438190.321) ["REQUEST_TIME"]=> int(1508438190) } } ["request"]=> object(Slim\Http\Request)#30 (15) { ["method":protected]=> string(3) "GET" ["originalMethod":protected]=> string(3) "GET" ["uri":protected]=> object(Slim\Http\Uri)#28 (9) { ["scheme":protected]=> string(4) "http" ["user":protected]=> string(0) "" ["password":protected]=> string(0) "" ["host":protected]=> string(9) "localhost" ["port":protected]=> int(80) ["basePath":protected]=> string(27) "/slimtest/project/index.php" ["path":protected]=> string(10) "hello/mama" ["query":protected]=> string(0) "" ["fragment":protected]=> string(0) "" } ["requestTarget":protected]=> NULL ["queryParams":protected]=> NULL ["cookies":protected]=> array(0) { } ["serverParams":protected]=> array(33) { ["HTTP_HOST"]=> string(9) "localhost" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_UPGRADE_INSECURE_REQUESTS"]=> string(1) "1" ["HTTP_USER_AGENT"]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" ["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_DNT"]=> string(1) "1" ["HTTP_ACCEPT_ENCODING"]=> string(23) "gzip, deflate, sdch, br" ["HTTP_ACCEPT_LANGUAGE"]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" ["PATH"]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ["SERVER_SIGNATURE"]=> string(70) " > Apache/2.4.18 (Ubuntu) Server at localhost Port 80 > " ["SERVER_SOFTWARE"]=> string(22) "Apache/2.4.18 (Ubuntu)" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(3) "::1" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(3) "::1" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> string(0) "" ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(40) "/var/www/html/slimtest/project/index.php" ["REMOTE_PORT"]=> string(5) "49504" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(38) "/slimtest/project/index.php/hello/mama" ["SCRIPT_NAME"]=> string(27) "/slimtest/project/index.php" ["PATH_INFO"]=> string(11) "/hello/mama" ["PATH_TRANSLATED"]=> string(24) "/var/www/html/hello/mama" ["PHP_SELF"]=> string(38) "/slimtest/project/index.php/hello/mama" ["REQUEST_TIME_FLOAT"]=> float(1508438190.321) ["REQUEST_TIME"]=> int(1508438190) } ["attributes":protected]=> object(Slim\Collection)#31 (1) { ["data":protected]=> array(0) { } } ["bodyParsed":protected]=> bool(false) ["bodyParsers":protected]=> array(4) { ["application/json"]=> object(Closure)#33 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } ["application/xml"]=> object(Closure)#34 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } ["text/xml"]=> object(Closure)#35 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } ["application/x-www-form-urlencoded"]=> object(Closure)#36 (2) { ["this"]=> *RECURSION* ["parameter"]=> array(1) { ["$input"]=> string(10) "" } } } ["uploadedFiles":protected]=> array(0) { } ["validMethods":protected]=> array(9) { ["CONNECT"]=> int(1) ["DELETE"]=> int(1) ["GET"]=> int(1) ["HEAD"]=> int(1) ["OPTIONS"]=> int(1) ["PATCH"]=> int(1) ["POST"]=> int(1) ["PUT"]=> int(1) ["TRACE"]=> int(1) } ["protocolVersion":protected]=> string(3) "1.1" ["headers":protected]=> object(Slim\Http\Headers)#29 (1) { ["data":protected]=> array(8) { ["host"]=> array(2) { ["value"]=> array(1) { [0]=> string(9) "localhost" } ["originalKey"]=> string(4) "Host" } ["connection"]=> array(2) { ["value"]=> array(1) { [0]=> string(10) "keep-alive" } ["originalKey"]=> string(15) "HTTP_CONNECTION" } ["upgrade-insecure-requests"]=> array(2) { ["value"]=> array(1) { [0]=> string(1) "1" } ["originalKey"]=> string(30) "HTTP_UPGRADE_INSECURE_REQUESTS" } ["user-agent"]=> array(2) { ["value"]=> array(1) { [0]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" } ["originalKey"]=> string(15) "HTTP_USER_AGENT" } ["accept"]=> array(2) { ["value"]=> array(1) { [0]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" } ["originalKey"]=> string(11) "HTTP_ACCEPT" } ["dnt"]=> array(2) { ["value"]=> array(1) { [0]=> string(1) "1" } ["originalKey"]=> string(8) "HTTP_DNT" } ["accept-encoding"]=> array(2) { ["value"]=> array(1) { [0]=> string(23) "gzip, deflate, sdch, br" } ["originalKey"]=> string(20) "HTTP_ACCEPT_ENCODING" } ["accept-language"]=> array(2) { ["value"]=> array(1) { [0]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" } ["originalKey"]=> string(20) "HTTP_ACCEPT_LANGUAGE" } } } ["body":protected]=> object(Slim\Http\RequestBody)#18 (7) { ["stream":protected]=> resource(4) of type (stream) ["meta":protected]=> NULL ["readable":protected]=> NULL ["writable":protected]=> NULL ["seekable":protected]=> NULL ["size":protected]=> NULL ["isPipe":protected]=> NULL } } ["response"]=> object(Slim\Http\Response)#26 (5) { ["status":protected]=> int(200) ["reasonPhrase":protected]=> string(0) "" ["protocolVersion":protected]=> string(3) "1.1" ["headers":protected]=> object(Slim\Http\Headers)#27 (1) { ["data":protected]=> array(1) { ["content-type"]=> array(2) { ["value"]=> array(1) { [0]=> string(24) "text/html; charset=UTF-8" } ["originalKey"]=> string(12) "Content-Type" } } } ["body":protected]=> object(Slim\Http\Body)#25 (7) { ["stream":protected]=> resource(2) of type (stream) ["meta":protected]=> NULL ["readable":protected]=> NULL ["writable":protected]=> NULL ["seekable":protected]=> NULL ["size":protected]=> NULL ["isPipe":protected]=> NULL } } ["router"]=> object(Slim\Router)#21 (8) { ["container":protected]=> *RECURSION* ["routeParser":protected]=> object(FastRoute\RouteParser\Std)#22 (0) { } ["basePath":protected]=> string(27) "/slimtest/project/index.php" ["cacheFile":protected]=> bool(false) ["routes":protected]=> array(1) { ["route0"]=> *RECURSION* } ["routeCounter":protected]=> int(1) ["routeGroups":protected]=> array(0) { } ["dispatcher":protected]=> object(FastRoute\Dispatcher\GroupCountBased)#42 (2) { ["staticRouteMap":protected]=> array(0) { } ["variableRouteData":protected]=> array(1) { ["GET"]=> array(1) { [0]=> array(2) { ["regex"]=> string(22) "~^(?|/hello/([^/]+))$~" ["routeMap"]=> array(1) { [2]=> array(2) { [0]=> string(6) "route0" [1]=> array(1) { ["name"]=> string(4) "name" } } } } } } } } ["foundHandler"]=> object(Slim\Handlers\Strategies\RequestResponse)#41 (0) { } ["phpErrorHandler"]=> object(Closure)#13 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["errorHandler"]=> object(Closure)#14 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["notFoundHandler"]=> object(Closure)#15 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } ["notAllowedHandler"]=> object(Closure)#16 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } ["callableResolver"]=> object(Slim\CallableResolver)#40 (1) { ["container":"Slim\CallableResolver":private]=> *RECURSION* } } ["factories":"Pimple\Container":private]=> object(SplObjectStorage)#4 (1) { ["storage":"SplObjectStorage":private]=> array(0) { } } ["protected":"Pimple\Container":private]=> object(SplObjectStorage)#5 (1) { ["storage":"SplObjectStorage":private]=> array(0) { } } ["frozen":"Pimple\Container":private]=> array(7) { ["settings"]=> bool(true) ["router"]=> bool(true) ["response"]=> bool(true) ["environment"]=> bool(true) ["request"]=> bool(true) ["callableResolver"]=> bool(true) ["foundHandler"]=> bool(true) } ["raw":"Pimple\Container":private]=> array(7) { ["settings"]=> object(Closure)#6 (2) { ["static"]=> array(2) { ["userSettings"]=> array(0) { } ["defaultSettings"]=> array(7) { ["httpVersion"]=> string(3) "1.1" ["responseChunkSize"]=> int(4096) ["outputBuffering"]=> string(6) "append" ["determineRouteBeforeAppMiddleware"]=> bool(false) ["displayErrorDetails"]=> bool(false) ["addContentLengthHeader"]=> bool(true) ["routerCacheFile"]=> bool(false) } } ["this"]=> *RECURSION* } ["router"]=> object(Closure)#11 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["response"]=> object(Closure)#10 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["environment"]=> object(Closure)#8 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } ["request"]=> object(Closure)#9 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["callableResolver"]=> object(Closure)#17 (2) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } ["parameter"]=> array(1) { ["$container"]=> string(10) "" } } ["foundHandler"]=> object(Closure)#12 (1) { ["this"]=> object(Slim\DefaultServicesProvider)#7 (0) { } } } ["keys":"Pimple\Container":private]=> array(11) { ["settings"]=> bool(true) ["environment"]=> bool(true) ["request"]=> bool(true) ["response"]=> bool(true) ["router"]=> bool(true) ["foundHandler"]=> bool(true) ["phpErrorHandler"]=> bool(true) ["errorHandler"]=> bool(true) ["notFoundHandler"]=> bool(true) ["notAllowedHandler"]=> bool(true) ["callableResolver"]=> bool(true) } } ["middleware":protected]=> array(0) { } ["pattern":protected]=> string(13) "/hello/{name}" ["stack":protected]=> object(SplStack)#37 (2) { ["flags":"SplDoublyLinkedList":private]=> int(2) ["dllist":"SplDoublyLinkedList":private]=> array(1) { [0]=> *RECURSION* } } ["middlewareLock":protected]=> bool(true) } ["routeInfo"]=> array(4) { [0]=> int(1) [1]=> string(6) "route0" [2]=> array(1) { ["name"]=> string(4) "mama" } ["request"]=> array(2) { [0]=> string(3) "GET" [1]=> string(54) "http://localhost/slimtest/project/index.php/hello/mama" } } ["name"]=> string(4) "mama" } } ["bodyParsed":protected]=> bool(false) ["bodyParsers":protected]=> array(4) { ["application/json"]=> object(Closure)#33 (2) { ["this"]=> object(Slim\Http\Request)#30 (15) { ["method":protected]=> string(3) "GET" ["originalMethod":protected]=> string(3) "GET" ["uri":protected]=> object(Slim\Http\Uri)#28 (9) { ["scheme":protected]=> string(4) "http" ["user":protected]=> string(0) "" ["password":protected]=> string(0) "" ["host":protected]=> string(9) "localhost" ["port":protected]=> int(80) ["basePath":protected]=> string(27) "/slimtest/project/index.php" ["path":protected]=> string(10) "hello/mama" ["query":protected]=> string(0) "" ["fragment":protected]=> string(0) "" } ["requestTarget":protected]=> NULL ["queryParams":protected]=> NULL ["cookies":protected]=> array(0) { } ["serverParams":protected]=> array(33) { ["HTTP_HOST"]=> string(9) "localhost" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_UPGRADE_INSECURE_REQUESTS"]=> string(1) "1" ["HTTP_USER_AGENT"]=> string(123) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144" ["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_DNT"]=> string(1) "1" ["HTTP_ACCEPT_ENCODING"]=> string(23) "gzip, deflate, sdch, br" ["HTTP_ACCEPT_LANGUAGE"]=> string(26) "en-GB,en-US;q=0.8,en;q=0.6" ["PATH"]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ["SERVER_SIGNATURE"]=> string(70) " > Apache/2.4.18 (Ubuntu) Server at localhost Port 80 > " ["SERVER_SOFTWARE"]=> string(22) "Apache/2.4.18 (Ubuntu)" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(3) "::1" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(3) "::1" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> string(0) "" ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(40) "/var/www/html/slimtest/project/index.php" ["REMOTE_PORT"]=> string(5) "49504" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(38) "/slimtest/project/index.php/hello/mama" ["SCRIPT_NAME"]=> string(27) "/slimtest/project/index.php" ["PATH_INFO"]=> string(11) "/hello/mama" ["PATH_TRANSLATED"]=> string(24) "/var/www/html/hello/mama" ["PHP_SELF"]=> string(38) "/slimtest/project/index.php/hello/mama" ["REQUEST_TIME_FLOAT"]=> float(1508438190.321) ["REQUEST_TIME"]=> int(1508438190) } ["attributes":protected]=> object(Slim\Collection)#31 (1) { ["data":protected]=> array(0) { } }

I was intrigued if I see a lot of data when dumping my $request.
Never done that, but I saw a lot of the same data, which in my opinion can be a huge bit smaller.

Can’t do it. :slight_smile: PSR-7 requires we import all of the super-globals