企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 控制器 [上一页](# "上一页")[下一页](# "下一页") 我们可以在自动生成的Application/Home/Controller目录下面找到一个 `IndexController.class.php` 文件,这就是默认的Index控制器文件。 控制器类的命名方式是:**控制器名(驼峰法,首字母大写)+Controller** 控制器文件的命名方式是:**类名+class.php(类文件后缀)** 默认的欢迎页面其实就是访问的Home模块下面的Index控制器类的index操作方法我们修改默认的index操作方法如下: ~~~ namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ echo 'hello,world!'; } } ~~~ 再次运行应用入口文件,浏览器会显示:`hello,world!`。 我们再来看下控制器类,IndexController控制器类的开头是命名空间定义: ~~~ namespace Home\Controller; ~~~ 这是系统的规范要求,表示当前类是Home模块下的控制器类,命名空间和实际的控制器文件所在的路径是一致的,也就是说:`Home\Controller\IndexController`类 对应的控制器文件位于应用目录下面的`Home/Controller/IndexController.class.php`,如果你改变了当前的模块名,那么这个控制器类的命名空间也需要随之修改。 > 注意:命名空间定义必须写在所有的PHP代码之前声明,否则会出错 ~~~ use Think\Controller; ~~~ 表示引入 Think\Controller 命名空间便于直接使用。所以, ~~~ use Think\Controller; class IndexController extends Controller ~~~ 等同于使用: ~~~ class IndexController extends \Think\Controller ~~~ 对于3.1的用户而言,如果你习惯了使用Action定义控制器的话,可以这样定义: ~~~ namespace Home\Action; use Think\Action; class IndexAction extends Action{ } ~~~ 然后,在配置文件中,设置: ~~~ 'DEFAULT_C_LAYER'=>'Action' ~~~ > 上面的设置方式通常可以用于原有3.1项目的升级。 [上一页](# "上一页")[下一页](# "下一页")