comparison classes/loader.php @ 77:97c1e5102a22 extractapp

New: export table for a file from LGService
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Thu, 16 Apr 2015 14:53:22 +0200
parents 886f43b26ee2
children f1f849d31272
comparison
equal deleted inserted replaced
76:c49192885290 77:97c1e5102a22
1 <?php 1 <?php
2 /**
3 * Loader is used to route parameters from input url and set parameters for controller.
4 * The routing is done by the RewriteRule written in .htaccess file.
5 */
2 6
3 class Loader { 7 class Loader {
4 private $controller; 8 private $controller;
5 private $action; 9 private $action;
6 private $urlvalues; 10 private $urlvalues;
7 private $postdata = 0; 11 private $postdata = 0;
8 12
9 //store the URL values on object creation
10 public function __construct($urlvalues, $postdata) { 13 public function __construct($urlvalues, $postdata) {
14 /**
15 * It stores the URL values on object creation.
16 * For example, the URL structure is like this: some_domain_name/Extractapp/TaggingText.
17 * The controller is "Extractapp" and the action is "TaggingText".
18 * For the "Extractapp" controller, there is a corresponding "extractapp.php" in "./controllers" folder.
19 * For the action "TaggingText", there is a corresponding "TaggingText.php" in "./views/Extractapp" folder.
20 * Under "./view" folder, the first level is named by the controller. Each action belongs to the controller is named by its action name.
21 */
22
11 $this->urlvalues = $urlvalues; 23 $this->urlvalues = $urlvalues;
12 $this->postdata = $postdata; 24 $this->postdata = $postdata;
13 if ($this->urlvalues['controller'] == "") { 25 if ($this->urlvalues['controller'] == "") {
14 $this->controller = "extractapp"; 26 $this->controller = "Extractapp"; // the default controller
15 // TODO: develope home page for the whole service. 27
16 // change $this->controller to home after developed extract app.
17 // $this->controller = "home";
18
19 } else { 28 } else {
20 $this->controller = $this->urlvalues['controller']; 29 $this->controller = $this->urlvalues['controller'];
21 } 30 }
22 31
23 if ($this->urlvalues['action'] == "") { 32 if ($this->urlvalues['action'] == "") {
24 $this->action = "taggingtext"; 33 $this->action = "TaggingText"; // the default action
25 // $this->action = "index"; 34
26 } else { 35 } else {
27 $this->action = $this->urlvalues['action']; 36 $this->action = $this->urlvalues['action'];
28 } 37 }
29
30 } 38 }
31 39
32 //establish the requested controller as an object
33 public function CreateController() { 40 public function CreateController() {
41 /**
42 * Establish the requested controller as an object, and check if the query is valid.
43 * The queried controller, which should be extended from BaseController, exists and the queried action should be one of its method.
44 */
45
34 //does the class exist? 46 //does the class exist?
35 if (class_exists($this->controller)) { 47 if (class_exists($this->controller)) {
36 $parents = class_parents($this->controller); 48 $parents = class_parents($this->controller);
37 //does the class extend the controller class? 49 //does the class extend the controller class?
38 if (in_array("BaseController",$parents)) { 50 if (in_array("BaseController",$parents)) {