Example #1
0
 /**
  * @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();
 }
Example #2
0
<?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";
}