/+junk/StupidMVC

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/%2Bjunk/StupidMVC

« back to all changes in this revision

Viewing changes to Common/Router.php

  • Committer: Gustav Hatvigsson
  • Date: 2016-03-16 13:19:32 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20160316131932-4187dfwz43gl28hs
* Made the router a class
* Made routeing work
* removed get_route () from AbstractController

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?php
2
2
 
3
 
function _route () {
4
 
  
5
 
  global $_stupid_cfg;
6
 
  
7
 
  $url = "";
8
 
  $method = "default_method";
9
 
  $ctrl = $_stupid_cfg["default_controller"];
10
 
  $path = "";
11
 
  
12
 
  $request_url = '';
13
 
  if (isset($_SERVER['REQUEST_URI'])) {
14
 
    $request_url = ? $_SERVER['REQUEST_URI'];
15
 
  }
16
 
  //echo "Request URL: " . $request_url . "\n";
17
 
  $script_url = '';
18
 
  if (isset($_SERVER['PHP_SELF'])){
19
 
    $_SERVER['PHP_SELF'];
20
 
  }
21
 
  //echo "Script URL: " . $script_url . "\n";
22
 
  
23
 
  if($request_url != $script_url) {
24
 
    $url = trim(preg_replace('/'. str_replace('/', '\/', str_replace('index.php', '', $script_url)) .'/', '', $request_url, 1), '/');
25
 
    //echo "url: " . $url . "\n";
26
 
  }
27
 
  
28
 
  $parts = explode ('/', $url );
29
 
  
30
 
  var_dump ($parts);
31
 
  
32
 
  if (isset ($parts[0]) && $parts[0] != '') {
33
 
    $ctrl = $parts[0];
34
 
  }
35
 
  
36
 
  if (isset ($parts[1]) && $parts[1] != '') {
37
 
    $method = $parts[1];
38
 
  }
39
 
  
40
 
  
41
 
  
 
3
class Router {
 
4
  
 
5
  private $list_controllers = [];
 
6
  
 
7
  private $default_controller = null;
 
8
  
 
9
  public function register_controller ($controller_name) {
 
10
    if (isset ($list_controllers[$controller_name])) {
 
11
      return;
 
12
    }
 
13
    
 
14
    require (APP_DIR . "Controllers" . DS . $controller_name  . ".php");
 
15
    
 
16
    $this->list_controllers[$controller_name] = $controller_name;
 
17
    
 
18
  }
 
19
  
 
20
  public function register_default_controller ($controller_name) {
 
21
    if (isset($this->default_controller)) {
 
22
      return;
 
23
    }
 
24
    $this->default_controller = $controller_name;
 
25
    $this->register_controller ($controller_name);
 
26
  }
 
27
  
 
28
  public function route () {
 
29
    
 
30
    
 
31
    var_dump ($this->list_controllers);
 
32
    
 
33
    $url = "";
 
34
    $method = "default_method";
 
35
    $ctrl = $this->default_controller;
 
36
    $path = "";
 
37
    
 
38
    $request_url = '';
 
39
    if (isset($_SERVER['REQUEST_URI'])) {
 
40
      $request_url = $_SERVER['REQUEST_URI'];
 
41
    }
 
42
    //echo "Request URL: " . $request_url . "\n";
 
43
    $script_url = '';
 
44
    if (isset($_SERVER['PHP_SELF'])){
 
45
      $script_url = $_SERVER['PHP_SELF'];
 
46
    }
 
47
    //echo "Script URL: " . $script_url . "\n";
 
48
    
 
49
    if($request_url != $script_url) {
 
50
      $url = trim(preg_replace('/'. str_replace('/', '\/', str_replace('index.php', '', $script_url)) .'/', '', $request_url, 1), '/');
 
51
      //echo "url: " . $url . "\n";
 
52
    }
 
53
    
 
54
    $parts = explode ('/', $url );
 
55
    
 
56
    var_dump ($parts);
 
57
    
 
58
    if (isset ($parts[0]) && $parts[0] != '') {
 
59
      $ctrl = $parts[0];
 
60
    }
 
61
    
 
62
    if (isset ($parts[1]) && $parts[1] != '') {
 
63
      $method = $parts[1];
 
64
    }
 
65
    
 
66
    var_dump ($ctrl);
 
67
    var_dump ($method);
 
68
    
 
69
    if(isset ($this->list_controllers[$ctrl])) {
 
70
      $controller_obj = new $ctrl ();
 
71
      $ctrl_method_list = $controller_obj->get_methods();
 
72
      if ($method != "default_method" &&
 
73
          isset($ctrl_method_list[$method])) {
 
74
        $controller_obj->$ctrl_method_list[$method] (array_slice($parts, 2));
 
75
        return;
 
76
      }
 
77
      $controller_obj->default_method ();
 
78
    }
 
79
    
 
80
  }
42
81
}
43