<?php
include("fish.conf");
$_controller=isset($_GET["controller"])?$_GET["controller"]:"";//获取controller参数
$_action=isset($_GET["action"])?$_GET["action"]:"";//获取action参数可以没有,没有的话,会执行controller的构造函数
if($_controller==""||in_array($_controller, explode(",", FISH_FORBIDDEN_TYPE))) exit();
//加载全局函数库
include(FISH_PATH."/Common/functions.inc");
//加载Controller父类_Master
require(FISH_PATH."/MVC/Controller/_Master.inc");
$_control_path=FISH_PATH."/MVC/Controller/".$_controller.".inc"
if(!file_exists($_control_path)) exit();//临时方法,最后要切换成404界面
require($_control_path);//记载control文件
if(!class_exists($_controller)) exit();//临时方法
$_init_controller=new $_controller();//$_init_controller=new index();
if(method_exists($_init_controller, $_action))
{
$_init_controller->$_action();//执行类方法
}
include($_init_controller->getView());//加载模板
?>
谢%>_<%~~
谢%>_<%~~
再追问一下,
上述代码引用了_Master.inc和index.inc,代码分别如下:
_Master.inc
<?php
abstract class _Master
{
//所有Controller类的父类
var $_view;//模板名称
function setView($viewName)
{
$this->_view=$viewName;
}
function getView()
{
return FISH_PATH."/MVC/View/".FISH_VIEWPATH."/".$this->_view.".php";
//returen $this->_view;
}
}
?>
index.inc<?php
class index extends _Master
{
function index()
{
}
function showindex()
{
//include(FISH_PATH."/MVC/View/".FISH_VIEWPATH."/index.php");//临时方法,加载模板
//echo "id参数是:".$_GET["id"];
$this->setView("index");
}
}
?>最后一句使用了include的路径,
include($_init_controller->getView());//加载模板
页面显示错误:Warning: include(fish/MVC/View/default/.php): failed to open stream: No such file or directory in F:\Demo\index.php on line 22即getView没有能获得赋值,求解~谢!~