MVC详解二

来源:互联网 发布:七周成为数据分析师13 编辑:程序博客网 时间:2024/05/16 18:26

回顾上一篇文章我们基本上完成了路由类的定义
我们的路由类就可以解析url了找到控制器和方法名
那么接下来就去加载我们的控制器和方法
首先呢在我们网站的更目录下建立app文件夹在其下面再建立ctrl文件夹来放我们的控制器(在上一篇博客中我们可以看到我们的框架目录的基本结构)
在ctrl下建立我们的第一个控制器 indexCtrl (在这里需要注意的是类名和方法名尽量不要一样,如果一样的话我们的方法将会被作为初始化方法被自动执行)
控制器代码如下

<?phpnamespace app\ctrl; //这是我们控制器的命名空间class indexCtrl {    public function index()    {      echo "it is index"    }}

接下来到框架核心文件imooc.php文件中加载控制器编码部分
在imooc.php run 方法中加入下面的这部分代码

        $route = new \core\lib\route();        $ctrlClass=$route->ctrl; //控制器        $action=$route->action;  //方法        $ctrlfile= APP.'/ctrl/'.$ctrlClass.'Ctrl.php';        $ctrlClass= '\\'.MODULE.'\ctrl\\'.$ctrlClass.'Ctrl';        if(is_file($ctrlfile))        {            include $ctrlfile;            $ctrl= new $ctrlClass();            $ctrl->$action();            \core\lib\log::log('ctrl:'.$route->ctrl.PHP_EOL.'action:'.$route->action);        }        else        {            throw new \Exception('找不到服务器'.$ctrlClass);        }

然后接下来去入口文件中定义MODULE为app

define('MODULE','app');
0 0