/** * @runInSeparateProcess */ function testAction() { $_SERVER['REQUEST_METHOD'] = 'GET'; $_SERVER['SCRIPT_NAME'] = '/index.php'; $_SERVER['REQUEST_URI'] = '/hello'; $this->assertNotTrue(Route::action('GET', '/nothello', function () { return new Response(); })); $this->assertNotTrue(Route::action('GET', '/me/hello', function () { return new Response(); })); $this->assertNotTrue(Route::action('GET', '/hello/me', function () { return new Response(); })); $this->assertTrue(Route::action('GET', '/hello', function () { return new Response(); })); $this->assertNotTrue(Route::action('GET', '/hello', function () { return new Response(); })); Route::reset(); $_SERVER['REQUEST_URI'] = '/hello?a=b'; $this->assertTrue(Route::action('GET', '/hello', function () { return new Response(); })); Route::reset(); }
<?php use Framework\Queue\QueueProcessor; use Framework\Config; use Framework\Queue\Driver\Driver; use Framework\Queue\Driver\RedisDriver; use Framework\Exception\FrameworkException; use Framework\Input; use Framework\Route; define('__APP__', __DIR__ . "/.."); require __APP__ . "/vendor/autoload.php"; $rs = Config::get('driver', new RedisDriver()); if (!$rs instanceof Driver) { throw FrameworkException::internalError('Queue Driver Not Set'); } QueueProcessor::getInstance()->setDriver($rs)->setAsReceiver(); for ($i = 0; $i < 10; $i++) { $message = $rs->receiveMessage('route'); if (!$message) { exit; } Input::bind($message); Route::reset(); Route::setSkipMain(); include __APP__ . "/route.php"; }