<?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());//加载模板
?>

解决方案 »

  1.   


    谢%>_<%~~
      

  2.   


    谢%>_<%~~
      

  3.   


    再追问一下,
    上述代码引用了_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没有能获得赋值,求解~谢!~
      

  4.   

    检查变量$viewName是不是空的,因为是空的,include文件时,文件不存在,所以提示错误。