MVC详解二

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

<?php
namespace 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');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值