示例#1
0
 function testPHPDumper()
 {
     $routes1 = new Roller\RouteSet();
     $routes2 = new Roller\RouteSet();
     $routes1->add('/item', function () {
         return 'item';
     });
     $routes2->add('/subitem', function () {
         return 'subitem';
     });
     $routes1->mount('/item', $routes2);
     $dumper = new Roller\Dumper\PhpDumper();
     $code = $dumper->dump($routes1);
     $cRoutes = eval($code);
     $router = new Roller\Router($cRoutes);
     $r = $router->dispatch('/item');
     is('item', $r());
     $r = $router->dispatch('/item/subitem');
     is('subitem', $r());
 }
示例#2
0
文件: Router.php 项目: c9s/roller
 private function makeCache()
 {
     if ($this->cache === self::cache_type_apc) {
         $dumper = new \Roller\Dumper\PhpDumper();
         $code = $dumper->dump($this->routes);
         apc_store($this->cacheId, $code) === true or die('Roller\\Router: apc cache failed.');
     } elseif ($this->cache === self::cache_type_file) {
         $dumper = new \Roller\Dumper\PhpDumper();
         $code = $dumper->dump($this->routes);
         $cacheFile = $this->cacheDir . DIRECTORY_SEPARATOR . $this->cacheId;
         file_put_contents($cacheFile, '<?php ' . $code) !== false or die('Roller\\Router: file cache failed.');
     } else {
         throw new Exception('Unknown cache type');
     }
 }