diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2016-11-18 02:30:53 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2016-11-18 02:30:53 +0300 |
commit | adbda970fac3a4f512195f9504e8252663dc86e1 (patch) | |
tree | 1bc49ae3c1b50fa3c9aa0bbec1f2021746e0f6e5 | |
parent | 2d3e4c8cbd8212cd0e168aa628796b5088701fd8 (diff) |
Inject DB
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
-rw-r--r-- | server/index2.php | 44 | ||||
-rw-r--r-- | server/lib/BruteForceMiddleware.php | 7 | ||||
-rw-r--r-- | server/lib/UserManager.php | 32 |
3 files changed, 56 insertions, 27 deletions
diff --git a/server/index2.php b/server/index2.php index e4b69af..878944a 100644 --- a/server/index2.php +++ b/server/index2.php @@ -2,22 +2,38 @@ require 'vendor/autoload.php'; -$config['displayErrorDetails'] = true; -$config['addContentLengthHeader'] = false; - -$config['db']['host'] = "localhost"; -$config['db']['user'] = "user"; -$config['db']['pass'] = "password"; -$config['db']['dbname'] = "exampleapp"; - -$c = new \Slim\Container(); -$c['UserManager'] = function() { - return new \LookupServer\UserManager(); +$settings = [ + 'settings' => [ + 'displayErrorDetails' => true, + 'addContentLengthHeader' => true, + 'db' => [ + 'host' => "172.17.0.2", + 'user' => "lookup", + 'pass' => "lookup", + 'dbname' => "lookup", + ] + ] +]; + +$container = new \Slim\Container($settings); + +$container['db'] = function($c) { + $db = $c['settings']['db']; + $pdo = new PDO("mysql:host=" . $db['host'] . ";dbname=" . $db['dbname'], + $db['user'], $db['pass']); + $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); + return $pdo; +}; +$container['UserManager'] = function($c) { + return new \LookupServer\UserManager($c->db); +}; +$container['BruteForceMiddleware'] = function ($c) { + return new \LookupServer\BruteForceMiddleware($c->db); }; -$app = new \Slim\App($c); -$app->add(new \LookupServer\BruteForceMiddleware()); - +$app = new \Slim\App($container); +$app->add($container->get('BruteForceMiddleware')); $app->get('/users', 'UserManager:search'); diff --git a/server/lib/BruteForceMiddleware.php b/server/lib/BruteForceMiddleware.php index 4517eb1..ed7b864 100644 --- a/server/lib/BruteForceMiddleware.php +++ b/server/lib/BruteForceMiddleware.php @@ -12,12 +12,9 @@ class BruteForceMiddleware { * * @return \Psr\Http\Message\ResponseInterface */ - public function __invoke($request, $response, $next) - { - $response->getBody()->write('BEFORE'); + public function __invoke($request, $response, $next) { + $response->getBody()->write('MIDDLE\n'); $response = $next($request, $response); - $response->getBody()->write('AFTER'); - return $response; } } diff --git a/server/lib/UserManager.php b/server/lib/UserManager.php index 729ccc7..0744b9e 100644 --- a/server/lib/UserManager.php +++ b/server/lib/UserManager.php @@ -7,15 +7,31 @@ use \Psr\Http\Message\ResponseInterface as Response; class UserManager { - function search(Request $request, Response $response) { - $response->getBody()->write("HELLLO HELLO"); + /** @var \PDO */ + private $db; - return $response; - } + public function __construct(\PDO $db) { + $this->db = $db; + } - function register(Request $request, Response $response) { - $response->getBody()->write("WTF DUDEs"); + public function search(Request $request, Response $response) { + $response->getBody()->write("HELLLO HELLO"); - return $response; - } + return $response; + } + + public function register(Request $request, Response $response) { + $response->getBody()->write("WTF DUDEs"); + + $stmt = $this->db->prepare('select * from user'); + $stmt->execute(); + $rows = $stmt->rowCount(); + + $response->getBody()->write($rows); + + $response->getBody()->write('OKE'); + + + return $response; + } } |