Skip to content

Commit

Permalink
Merge pull request #99 from mbohal/feature/improve-bootstraping
Browse files Browse the repository at this point in the history
Improve bootstraping
  • Loading branch information
l0gicgate committed Apr 15, 2019
2 parents eb6e11c + 15fc596 commit 0bac600
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 29 deletions.
9 changes: 6 additions & 3 deletions public/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,16 @@
$app = new \Slim\App($settings);

// Set up dependencies
require __DIR__ . '/../src/dependencies.php';
$dependencies = require __DIR__ . '/../src/dependencies.php';
$dependencies($app);

// Register middleware
require __DIR__ . '/../src/middleware.php';
$middleware = require __DIR__ . '/../src/middleware.php';
$middleware($app);

// Register routes
require __DIR__ . '/../src/routes.php';
$routes = require __DIR__ . '/../src/routes.php';
$routes($app);

// Run app
$app->run();
31 changes: 17 additions & 14 deletions src/dependencies.php
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
<?php
// DIC configuration

$container = $app->getContainer();
use Slim\App;

// view renderer
$container['renderer'] = function ($c) {
$settings = $c->get('settings')['renderer'];
return new Slim\Views\PhpRenderer($settings['template_path']);
};
return function (App $app) {
$container = $app->getContainer();

// view renderer
$container['renderer'] = function ($c) {
$settings = $c->get('settings')['renderer'];
return new \Slim\Views\PhpRenderer($settings['template_path']);
};

// monolog
$container['logger'] = function ($c) {
$settings = $c->get('settings')['logger'];
$logger = new Monolog\Logger($settings['name']);
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
$logger->pushHandler(new Monolog\Handler\StreamHandler($settings['path'], $settings['level']));
return $logger;
// monolog
$container['logger'] = function ($c) {
$settings = $c->get('settings')['logger'];
$logger = new \Monolog\Logger($settings['name']);
$logger->pushProcessor(new \Monolog\Processor\UidProcessor());
$logger->pushHandler(new \Monolog\Handler\StreamHandler($settings['path'], $settings['level']));
return $logger;
};
};
7 changes: 5 additions & 2 deletions src/middleware.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<?php
// Application middleware

// e.g: $app->add(new \Slim\Csrf\Guard);
use Slim\App;

return function (App $app) {
// e.g: $app->add(new \Slim\Csrf\Guard);
};
17 changes: 10 additions & 7 deletions src/routes.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
<?php

use Slim\App;
use Slim\Http\Request;
use Slim\Http\Response;

// Routes
return function (App $app) {
$container = $app->getContainer();

$app->get('/[{name}]', function (Request $request, Response $response, array $args) {
// Sample log message
$this->logger->info("Slim-Skeleton '/' route");
$app->get('/[{name}]', function (Request $request, Response $response, array $args) use ($container) {
// Sample log message
$container->get('logger')->info("Slim-Skeleton '/' route");

// Render index view
return $this->renderer->render($response, 'index.phtml', $args);
});
// Render index view
return $container->get('renderer')->render($response, 'index.phtml', $args);
});
};
9 changes: 6 additions & 3 deletions tests/Functional/BaseTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,18 @@ public function runApp($requestMethod, $requestUri, $requestData = null)
$app = new App($settings);

// Set up dependencies
require __DIR__ . '/../../src/dependencies.php';
$dependencies = require __DIR__ . '/../../src/dependencies.php';
$dependencies($app);

// Register middleware
if ($this->withMiddleware) {
require __DIR__ . '/../../src/middleware.php';
$middleware = require __DIR__ . '/../../src/middleware.php';
$middleware($app);
}

// Register routes
require __DIR__ . '/../../src/routes.php';
$routes = require __DIR__ . '/../../src/routes.php';
$routes($app);

// Process the application
$response = $app->process($request, $response);
Expand Down

0 comments on commit 0bac600

Please sign in to comment.