Slim中使用Controller

来源:互联网 发布:淘宝怎么1元秒杀 编辑:程序博客网 时间:2024/06/04 19:47

官方示例

Slim中给出的调用Controller的方法如下:

$app->get('/home', '\HomeController:home');

通过给出的示例可以看出,路由的第二个参数是具体Controller的命名空间和方法的结合。

创建目录

我们将所有的控制器对象都放在根目录下的controllers目录,具体的控制器类文件还可以根据功能进行多级目录划分。

// \controllers\admin\homeController.php<?phpnamespace Controllers\Admin;class homeController{    public function home($req,$res,$args){        echo 'it works!';    }}

自动加载Controller

在PHP中创建对象必须先引入类的文件,由于Slime通过composer安装,我们直接利用composer的psr-4自动加载即可。

  1. 在composer中配置自动加载
"autoload":{        "psr-4":{            "Controllers\\":"controllers/"        }    }
  1. 更新composer中的autoload
composer dump-autoload [--optimize]#   --optimize  用于优化自动加载的效率,可选#   在安装依赖时采用如下语句,也可以达到优化自动加载效率的效果#   composer install --optimize-autoloader
  1. 在路由文件中调用控制器
$app->get('/home','\Controllers\Admin\HomeController:home');