一、创建控制器
在使用控制器之前,我们需要先创建一个控制器。假设我们要创建一个usercontroller,用于处理用户信息的增、删、改、查等业务,在thinkphp中,我们可以通过以下命令创建一个usercontroller控制器:
php think make:controller admin/usercontroller
此命令将在项目的“application/admin/controller”目录下创建一个名为usercontroller的控制器。接下来,我们就可以在控制器中进行相关操作了。
二、控制器方法的调用
1.基本调用
在控制器中定义好方法后,我们可以在控制器中直接调用该方法。如下:
namespace app\admin\controller;use think\controller;class usercontroller extends controller{ public function index(){ return 'user index'; } public function add(){ return 'user add'; } public function edit($id){ return 'user edit '.$id; } public function delete($id){ return 'user delete '.$id; }}
通过访问路由“/admin/user/index”、“/admin/user/add”、“/admin/user/edit/1”、“/admin/user/delete/1”分别可以调用usercontroller控制器中对应的方法。
2.访问同一控制器中的其他方法
在控制器中,我们可以通过“$this->方法名()”来调用同一控制器中的其他方法。如下:
namespace app\admin\controller;use think\controller;class usercontroller extends controller{ public function index(){ return $this->add(); } public function add(){ return 'user add'; }}
通过访问路由“/admin/user/index”可以调用usercontroller控制器中的add()方法。
3.访问其他控制器中的方法
我们可以通过“controller(‘控制器名’)”来新建一个控制器,然后使用该控制器中的方法。如下:
namespace app\admin\controller;use think\controller;class usercontroller extends controller{ public function index(){ $test = controller('test'); return $test->index(); }}
上述代码中,我们新建了一个名为test的控制器,并调用了它的index()方法。
4.带参数的方法调用
如果要在调用方法时传递参数,我们可以在方法名后面添加“/参数1/参数2/…/参数n”的方式进行传参。如下:
namespace app\admin\controller;use think\controller;class usercontroller extends controller{ public function edit($id){ return 'user edit '.$id; } public function test(){ return $this->edit(111); }}
通过访问路由“/admin/user/test”可以调用usercontroller控制器中的edit($id)方法,并传递参数111。
5.数字、中横线转驼峰访问方式
在thinkphp中,我们还可以实现数字、中横线转驼峰的方法自动调用。如下:
namespace app\admin\controller;use think\controller;class usercontroller extends controller{ public function viewlist(){ return 'user view list'; } public function userlist(){ return 'user list'; }}
通过访问路由“/admin/user/view_list”、“/admin/user/user_list”,分别可以调用usercontroller控制器中的viewlist()方法和userlist()方法。
三、总结
在thinkphp中,控制器是非常重要的组成部分,对于web应用的开发、维护、扩展起着非常关键的作用。在本文中,我们介绍了如何创建一个控制器,并在控制器中调用方法。通过这些方法,我们可以有效地提高程序的可扩展性和维护性,使得程序的开发效率得到进一步提高。
以上就是thinkphp如何在控制器中调用方法的详细内容。
