Mercurial > hg > extraction-interface
comparison classes/loader.php @ 81:f1f849d31272 extractapp
book_id as string
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Thu, 23 Apr 2015 14:58:27 +0200 |
parents | 97c1e5102a22 |
children |
comparison
equal
deleted
inserted
replaced
80:c15f53afd7a5 | 81:f1f849d31272 |
---|---|
1 <?php | 1 <?php |
2 /* | |
3 * loader.php | |
4 * This file is part of Extraction-interface. | |
5 * | |
6 * Extraction-interface is free software: you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation, either version 3 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * Extraction-interface is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with Extraction-interface. If not, see <http://www.gnu.org/licenses/>. | |
18 */ | |
19 | |
2 /** | 20 /** |
3 * Loader is used to route parameters from input url and set parameters for controller. | 21 * 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. | 22 * The routing is done by the RewriteRule written in .htaccess file. |
5 */ | 23 */ |
6 | 24 |
7 class Loader { | 25 class Loader { |
8 private $controller; | 26 private $controller; |
9 private $action; | 27 private $action; |
10 private $urlvalues; | 28 private $urlvalues; |
11 private $postdata = 0; | 29 private $postdata = 0; |
12 | 30 |
13 public function __construct($urlvalues, $postdata) { | 31 public function __construct($urlvalues, $postdata) { |
14 /** | 32 /** |
15 * It stores the URL values on object creation. | 33 * It stores parameters in URL on object creation. |
16 * For example, the URL structure is like this: some_domain_name/Extractapp/TaggingText. | 34 * |
17 * The controller is "Extractapp" and the action is "TaggingText". | 35 * For example, the URL structure is like this: some_domain_name/Extractapp/TaggingText. |
18 * For the "Extractapp" controller, there is a corresponding "extractapp.php" in "./controllers" folder. | 36 * The controller is "Extractapp" and the action is "TaggingText". |
19 * For the action "TaggingText", there is a corresponding "TaggingText.php" in "./views/Extractapp" folder. | 37 * |
20 * Under "./view" folder, the first level is named by the controller. Each action belongs to the controller is named by its action name. | 38 * For the "Extractapp" controller, there is a corresponding "extractapp.php" in "./controllers" folder. |
21 */ | 39 * |
40 * For the action "TaggingText", there is a corresponding "TaggingText.php" in "./views/Extractapp" folder. | |
41 * | |
42 * Under "./view" folder, the first level of the sub-folder is named by the controller's name. | |
43 * Each action controlled by the controller has it's own php file. The file name is the same as the the action's name. | |
44 */ | |
22 | 45 |
23 $this->urlvalues = $urlvalues; | 46 $this->urlvalues = $urlvalues; |
24 $this->postdata = $postdata; | 47 $this->postdata = $postdata; |
25 if ($this->urlvalues['controller'] == "") { | 48 if ($this->urlvalues['controller'] == "") { |
26 $this->controller = "Extractapp"; // the default controller | 49 $this->controller = "Extractapp"; // the default controller |
37 } | 60 } |
38 } | 61 } |
39 | 62 |
40 public function CreateController() { | 63 public function CreateController() { |
41 /** | 64 /** |
42 * Establish the requested controller as an object, and check if the query is valid. | 65 * 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. | 66 * The queried controller, which should be extended from BaseController, exists and the queried action should be one of its method. |
44 */ | 67 */ |
45 | 68 |
46 //does the class exist? | 69 //does the class exist? |
47 if (class_exists($this->controller)) { | 70 if (class_exists($this->controller)) { |
48 $parents = class_parents($this->controller); | 71 $parents = class_parents($this->controller); |
49 //does the class extend the controller class? | 72 //does the class extend the controller class? |