Fatal error: Call to a member function display() on null 怎么解决??代码都贴出来了
index.php代码
<?php
//url形式 index.php?controller=控制器&method=方法名
require_once('function.php'); //带引号才行
$controllerAllow=array('test','index');
$methodAllow=array('test','index','show');
$controller=in_array($_GET['controller'],$controllerAllow)?daddslashes($_GET['controller']):'index';
$method=in_array($_GET['method'],$methodAllow)?daddslashes($_GET['method']):'index';
C($controller,$method);
?>
function.php代码
<?php
function C($name,$method){ //C控制器缩写大 ,方法里面可以传参数,所以方法可以在传参
require_once('/libs/Controller/'.$name.'Controller.class.php'); //引入控制器文件
eval('$obj=new '.$name.'Controller();$obj->'.$method.'();'); //eval()函数调用简单但是不安全
}
C('test','show');
function M($name){ //M模型缩写大 ,方法里面不可以传参数
require_once('/libs/Model/'.$name.'Model.class.php');
/* $testModel=new testModel();//控制器 -> 按指令选取一个合适的模型
$data=$testModel->get(); //模型 -> 按控制器指令取相应数据 */
eval('$obj=new '.$name.'Model();');
return $obj;
}
function V($name){
require_once('/libs/View/'.$name.'View.class.php');
eval('$obj=new '.$name.'View();');
}
function daddslashes($str){ //daddslashes()用来转义非法字符 函数返回在预定义字符之前添加反斜杠的字符串。
return(!get_magic_quotes_gpc())?addslashes($str):$str;
}
?>
testController.class.php代码
<?php
class testController{
function show(){//控制器的作用是调用模型,并调用视图。将模型产生的数据传递给视图,并让相关视图去显示
$testModel=M('test');
$data=$testModel->get();
$testView=V('test');
$testView->display($data);
}
}
?>