Skip to content

Commit 0d0fc18

Browse files
committed
Replace the Quickstart class with an App subclass
1 parent eba385f commit 0d0fc18

File tree

6 files changed

+47
-54
lines changed

6 files changed

+47
-54
lines changed

src/App.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace DI\Bridge\Slim;
4+
5+
use DI\ContainerBuilder;
6+
7+
/**
8+
* Slim application configured with PHP-DI.
9+
*/
10+
class App extends \Slim\App
11+
{
12+
public function __construct()
13+
{
14+
$containerBuilder = new ContainerBuilder;
15+
$containerBuilder->addDefinitions(__DIR__ . '/config.php');
16+
$container = $containerBuilder->build();
17+
18+
parent::__construct($container);
19+
}
20+
21+
/**
22+
* Override this method to configure the container builder.
23+
*
24+
* For example, to load additional configuration files:
25+
*
26+
* protected function configureContainer(ContainerBuilder $builder)
27+
* {
28+
* $builder->addDefinitions(__DIR__ . 'my-config-file.php');
29+
* }
30+
*/
31+
protected function configureContainer(ContainerBuilder $builder)
32+
{
33+
}
34+
}

src/Quickstart.php

Lines changed: 0 additions & 40 deletions
This file was deleted.

tests/ApplicationTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace DI\Bridge\Slim\Test;
44

5-
use DI\Bridge\Slim\Quickstart;
5+
use DI\Bridge\Slim\App;
66
use DI\Bridge\Slim\Test\Mock\RequestFactory;
77
use Slim\Http\Response;
88

@@ -13,7 +13,7 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
1313
*/
1414
public function runs()
1515
{
16-
$app = Quickstart::createApplication();
16+
$app = new App;
1717

1818
$called = false;
1919
$app->get('/', function () use (&$called) {

tests/ContainerTest.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
namespace DI\Bridge\Slim\Test;
44

5-
use DI\Bridge\Slim\Quickstart;
6-
use Slim\App;
5+
use DI\Bridge\Slim\App;
76

87
class ContainerTest extends \PHPUnit_Framework_TestCase
98
{
@@ -15,8 +14,8 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
1514
*/
1615
public function provides_mandatory_container_entries()
1716
{
18-
$slimDefault = new App;
19-
$slimPhpDi = Quickstart::createApplication();
17+
$slimDefault = new \Slim\App;
18+
$slimPhpDi = new App;
2019

2120
/** @var \Slim\Container $defaultContainer */
2221
$defaultContainer = $slimDefault->getContainer();
@@ -39,8 +38,8 @@ public function provides_mandatory_container_entries()
3938
*/
4039
public function provides_default_config_options()
4140
{
42-
$slimDefault = new App;
43-
$slimPhpDi = Quickstart::createApplication();
41+
$slimDefault = new \Slim\App;
42+
$slimPhpDi = new App;
4443

4544
/** @var \Slim\Container $defaultContainer */
4645
$defaultContainer = $slimDefault->getContainer();

tests/MiddlewareTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace DI\Bridge\Slim\Test;
44

5-
use DI\Bridge\Slim\Quickstart;
5+
use DI\Bridge\Slim\App;
66
use DI\Bridge\Slim\Test\Mock\RequestFactory;
77
use Psr\Http\Message\ResponseInterface;
88
use Psr\Http\Message\ServerRequestInterface;
@@ -15,7 +15,7 @@ class MiddlewareTest extends \PHPUnit_Framework_TestCase
1515
*/
1616
public function invokes_closure_middleware()
1717
{
18-
$app = Quickstart::createApplication();
18+
$app = new App;
1919
$app->add(function (ServerRequestInterface $request, ResponseInterface $response, callable $next) {
2020
$response->getBody()->write('Hello ' . $request->getQueryParams()['foo']);
2121
return $response;

tests/RoutingTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace DI\Bridge\Slim\Test;
44

5-
use DI\Bridge\Slim\Quickstart;
5+
use DI\Bridge\Slim\App;
66
use DI\Bridge\Slim\Test\Fixture\UserController;
77
use DI\Bridge\Slim\Test\Mock\RequestFactory;
88
use Psr\Http\Message\ResponseInterface;
@@ -16,7 +16,7 @@ class RoutingTest extends \PHPUnit_Framework_TestCase
1616
*/
1717
public function injects_request_and_response()
1818
{
19-
$app = Quickstart::createApplication();
19+
$app = new App;
2020
// Response and request and inversed to check that they are correctly injected by name
2121
$app->get('/', function (ResponseInterface $response, ServerRequestInterface $request) {
2222
$response->getBody()->write('Hello ' . $request->getQueryParams()['foo']);
@@ -32,7 +32,7 @@ public function injects_request_and_response()
3232
*/
3333
public function injects_request_path_parameters()
3434
{
35-
$app = Quickstart::createApplication();
35+
$app = new App;
3636
$app->get('/{name}', function ($name, $response) {
3737
$response->getBody()->write('Hello ' . $name);
3838
return $response;
@@ -47,7 +47,7 @@ public function injects_request_path_parameters()
4747
*/
4848
public function resolve_controller_from_container()
4949
{
50-
$app = Quickstart::createApplication();
50+
$app = new App;
5151
$app->get('/', [UserController::class, 'dashboard']);
5252

5353
$response = $app->callMiddlewareStack(RequestFactory::create(), new Response);

0 commit comments

Comments
 (0)