Controller.php
include \'Model.php\';
include \'View.php\';
class Controller {
private $model = \'\';
private $view = \'\';
public function Controller(){
$this->model = new Model();
$this->view = new View();
}
public function doAction( $method = \'defaultMethod\', $params = array() ){
if( empty($method) ){
$this->defaultMethod();
}else if( method_exists($this, $method) ){
call_user_func(array($this, $method), $params);
}else{
$this->nonexisting_method();
}
}
public function link_page($name = \'\'){
$links = $this->model->getLinks();
$this->view->display($links);
$result = $this->model->getResult($name);
$this->view->display($result);
}
public function defaultMethod(){
$this->br();
echo "This is the default method. ";
}
public function nonexisting_method(){
$this->br();
echo "This is the noexisting method. ";
}
public function br(){
echo "<br />";
}
}
$controller = new Controller();
$controller->doAction(\'link_page\', \'b\');
$controller->doAction();
Model.php
Code
class Model {
private $database = array(
"a" => "hello world",
"b" => "ok well done",
"c" => "good bye",
);
//@TODO connect the database
//run the query and get the result
public function getResult($name){
if( empty($name) ){
return FALSE;
}
if( in_array($name, array_keys( $this->database ) ) ){
return $this->database[$name];
}
}
public function getLinks(){
$links = "<a href=\'#\'>Link A</a> ";
$links.= "<a href=\'#\'>Link B</a> ";
$links.= "<a href=\'#\'>Link C</a> ";
return $links;
}
}
View.php
class View {
public function display($output){
// ob_start();
echo $output;
}
}