예제 #1
0
파일: Route.php 프로젝트: creogen/rapidphp
 protected function setRequestValues(\Rapid\Request $request)
 {
     $request->setModule($this->moduleName())->setController($this->controllerName())->setAction($this->actionName());
     foreach ($this->additionalParams() as $key => $value) {
         $request->setParam($key, $value);
     }
 }
예제 #2
0
파일: Router.php 프로젝트: creogen/rapidphp
 protected function processPath()
 {
     $path = $this->request->path();
     $parts = explode('/', $path);
     $partsCount = count($parts);
     $partsMaxIndex = $partsCount - 1;
     $module = '';
     $controller = '';
     $action = '';
     $paramsKey = '';
     foreach ($parts as $key => $part) {
         if (!$controller && $this->application->hasModule($module . $part . '/')) {
             $module .= $part . '/';
             continue;
         }
         if (!$controller) {
             $controller = $part;
             continue;
         }
         if (!$action) {
             $action = $part;
             continue;
         }
         if ($partsMaxIndex > $key && !$paramsKey) {
             $paramsKey = $part;
             continue;
         }
         if ($paramsKey) {
             $this->request->setParam($paramsKey, $part);
             $paramsKey = '';
         } else {
             $this->request->setParam($part, 1);
         }
     }
     $this->request->setModule($module)->setController($controller ? $controller : $this->defaultController)->setAction($action ? $action : $this->defaultAction);
 }
예제 #3
0
 public function testModule()
 {
     $this->assertEquals(null, $this->request->module(), 'Module is not null');
     $this->request->setModule('admin');
     $this->assertEquals('admin', $this->request->module(), 'Module is not "admin"');
 }