[add] Slim skeleton
This commit is contained in:
19
api-payroll/src/dependencies.php
Normal file
19
api-payroll/src/dependencies.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
// DIC configuration
|
||||
|
||||
$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;
|
||||
};
|
||||
4
api-payroll/src/middleware.php
Normal file
4
api-payroll/src/middleware.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
// Application middleware
|
||||
|
||||
// e.g: $app->add(new \Slim\Csrf\Guard);
|
||||
14
api-payroll/src/routes.php
Normal file
14
api-payroll/src/routes.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
use Slim\Http\Request;
|
||||
use Slim\Http\Response;
|
||||
|
||||
// Routes
|
||||
|
||||
$app->get('/[{name}]', function (Request $request, Response $response, array $args) {
|
||||
// Sample log message
|
||||
$this->logger->info("Slim-Skeleton '/' route");
|
||||
|
||||
// Render index view
|
||||
return $this->renderer->render($response, 'index.phtml', $args);
|
||||
});
|
||||
19
api-payroll/src/settings.php
Normal file
19
api-payroll/src/settings.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
return [
|
||||
'settings' => [
|
||||
'displayErrorDetails' => true, // set to false in production
|
||||
'addContentLengthHeader' => false, // Allow the web server to send the content-length header
|
||||
|
||||
// Renderer settings
|
||||
'renderer' => [
|
||||
'template_path' => __DIR__ . '/../templates/',
|
||||
],
|
||||
|
||||
// Monolog settings
|
||||
'logger' => [
|
||||
'name' => 'slim-app',
|
||||
'path' => isset($_ENV['docker']) ? 'php://stdout' : __DIR__ . '/../logs/app.log',
|
||||
'level' => \Monolog\Logger::DEBUG,
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user