comparison classes/basecontroller.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 // an instance of the BaseController class can't be created directly; 2 /**
3 // it can only be extended/inherited by other classes 3 * An instance of the BaseController class can't be created directly.
4 * It can only be extended/inherited by other classes.
5 */
6
4 abstract class BaseController { 7 abstract class BaseController {
5 8
6 protected $urlvalues; 9 protected $urlvalues;
7 protected $action; 10 protected $action;
8 11
9 public function __construct($action, $urlvalues, $postdata) { 12 public function __construct($action, $urlvalues, $postdata) {
10 $this->action = $action; 13 $this->action = $action;
15 public function ExecuteAction() { 18 public function ExecuteAction() {
16 return $this->{$this->action}(); 19 return $this->{$this->action}();
17 } 20 }
18 21
19 protected function ReturnView($viewmodel, $fullview) { 22 protected function ReturnView($viewmodel, $fullview) {
23 /**
24 * Return the corresponding view in the views folder.
25 * We use the same class name as the folder's name and action name as the file's name in the folder hierarchy.
26 * In this design, we can require the corresponding views php code by defining controller and action in url.
27 *
28 * If you also require the maintemplate.php, which now only contains scripts that need to be inclued, set $fullview to be true;
29 * otherwise, the maintemplate.php will not be applied.
30 */
31
20 $viewloc = 'views/' . get_class($this) . '/' . $this->action . '.php'; 32 $viewloc = 'views/' . get_class($this) . '/' . $this->action . '.php';
21 if ($fullview) { 33 if ($fullview) {
22 require('views/maintemplate.php'); 34 require('views/maintemplate.php');
23 require($viewloc); 35 require($viewloc);
24 } else { 36 } else {
25 require($viewloc); 37 require($viewloc);
26 } 38 }
27 } 39 }
28 40
29 protected function ReturnView_localtest($viewmodel, $fullview) { 41 protected function ReturnView_localtest($viewmodel, $fullview) {
42 /** Return the corresponding view in the views folder.
43 *
44 * This is only been used when developing on local machine.
45 */
30 $viewloc = 'views/' . get_class($this) . '/' . $this->action . '.php'; 46 $viewloc = 'views/' . get_class($this) . '/' . $this->action . '.php';
31 if ($fullview) { 47 if ($fullview) {
32 require('views/maintemplate_local.php'); 48 require('views/maintemplate_local.php');
33 require($viewloc); 49 require($viewloc);
34 } else { 50 } else {