上一章我们介绍了如何完成路由类 ,本章将进行加载控制器和对应的方法。
首先我们在根目录建app文件夹,然后在app下建立ctrl文件夹,然后在下方建一个文件indexCtrl.php。然后我们在创建个indexCtrl类,接着写一个方法index,输出一个it is good。
<?php
namespace app\ctrl;
class indexCtrl
{
public function index()
{
p('index');
}
}
?>
接下来我们加载控制器编码部分, 在core下的imooc.php文件的run()方法中进行编码, 首先先给连个变量一个存放我们的控制器,一个存放我们的方法。再来判断一下控制器是否存在。
$ctrlClass = $route->ctrl;
$action = $route->action;
$ctrlfile = APP.'/ctrl/'.$ctrlClass.'Ctrl.php';
$cltrlClass = '\\'.MODUL.'\ctrl\\'.$ctrlClass.'Ctrl';
//p($ctrlfile);
if(is_file($ctrlfile)){
include $ctrlfile;
$ctrl=new $cltrlClass();
$ctrl->$action();
}else{
throw new \Exception('找不到控制器'.$ctrlClass);
}
并且在入口文件定义一个常量。
define('MODULE','app');
让后进行访问成功输出it is good 我们的控制器就加载成功了。