# 控制器入门 在MVC设计模式中,控制器C属于调度模型M和和视图V的主要角色,我们通常在控制器里面进行一些业务逻辑的代码编写,很少涉及数据库的读写,只关心数据从哪里来,怎样来就完全不关心。 # 定义与使用 ## 直接定义 我们可以直接把一个类,放在模块/controller/文件夹下,并且保证类名和文件名一致即可。 然后通过url:域名/模块/控制器名称/控制器里面的方法来名称。这样就可以在浏览器里面看到最终的结果了。 例如,我定义一个Ioc类,放在 项目根目录/应用目录/index/controller/Ioc.php ![](https://box.kancloud.cn/3e1d989d9d505e44edaed840b69202ce_1454x978.png) 然后在浏览器输入: tp51.test.cn/index/Ioc/index 这样就可以看到返回输出的结果。 * * * * * 这样就是定义一个控制器了,为了更方便使用,控制器类建议继承系统的控制器基类think\Controller,虽然无需继承也可以使用。 * * * * * ## 继承控制器基类 ![](https://box.kancloud.cn/32d380205c738ce5683d9e5acc4a4100_1023x707.png) 继承后有什么好处呢,基类控制器默认给你实例化了视图V的实例,请求的实例(Request)还有大量常用的东西都给你准备好了,你只需要去调用。 所以后续内容我们如果定义一个控制器我都会继承控制器基类。并且会使用依赖注入,和面向对象的知识去进行项目实践的开发