home
/
zktecojo
/
public_html
/
vendor
/
stack
/
builder
/
tests
/
functional
➕ New
📤 Upload
✎ Editing:
SilexApplicationTest.php
← Back
<?php namespace functional; use Silex\Application; use Stack\Builder; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\HttpKernelInterface; class SilexApplicationTest extends \PHPUnit_Framework_TestCase { public function testWithAppendMiddlewares() { $app = new Application(); $app->get('/foo', function () { return 'bar'; }); $finished = false; $app->finish(function () use (&$finished) { $finished = true; }); $stack = new Builder(); $stack ->push('functional\Append', '.A') ->push('functional\Append', '.B'); $app = $stack->resolve($app); $request = Request::create('/foo'); $response = $app->handle($request); $app->terminate($request, $response); $this->assertSame('bar.B.A', $response->getContent()); $this->assertTrue($finished); } } class Append implements HttpKernelInterface { private $app; private $appendix; public function __construct(HttpKernelInterface $app, $appendix) { $this->app = $app; $this->appendix = $appendix; } public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) { $response = clone $this->app->handle($request, $type, $catch); $response->setContent($response->getContent().$this->appendix); return $response; } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel