I want to pass the containers into the routes.php and I’m only able to get it to work with GLOBALS. I hate using GLOBALS and want to know if there is another way to make this work. I want to pass the containers into the __construct() method of my class. If it is possible to access the containers directly without having to pass them, that would be even better.
Here is my code:
<?php
//Routes
use API\Organizations;
$GLOBALS['myMSName'] = '/organizations';
$GLOBALS['containers'] = $app->getContainer();
$app->group('',
function () {
$this->post($GLOBALS['myMSName'] . '/create',
function ($request,
$response,
$args) {
$this->logger->info('route: ' . $GLOBALS['myMSName'] . '/create');
$this->logger->debug("getUri / " . $request->getUri());
$myOrganizations = new Organizations($GLOBALS['containers'],
$request->getParsedBody()["username"]);
$result = $response->withJson($myOrganizations->create($request->getParsedBody()["orgname"],
$request->getParsedBody()['isactive']));
return $result;
});
})
->add(new Middleware($container));