思考:
1、控制器文件写在哪里?
项目名称\app\Http\Controllers
2、控制器文件如何命名?
控制器名称(首字母大写)+Controller.php,
比如如下:
IndexController.php
UserController.php
3、内容如何书写?
注意:使用大驼峰命名,同时注意命名空间和基类控制器的引入
创建方式:cmd方式 进入到artisan文件所在的目录,
php artisan make:controller UserController
创建的IndexController控制器内容如下;
自己定义了一个 index方法如下;
4、控制器路由
即,如何使用路由规则调用控制器下的方法。
路由设置格式基本相同,只是将闭包函数换成‘控制器类名@方法名’
定义格式如下:
Route::请求方法(URL,'控制器类名@方法名')
定义路由如下;
5、控制器是否可以分目录管理?可以
比如如下:在Controllers目录下面的Admin目录中,新建一个DemoController.php的控制器,
并添加如下方法;
路由规则如下;
Route::get('路由的url',"分组名\控制器名称@对应的方法名称");
访问效果;
6、高级路由
命名空间
比如如下路由
Route::get('admin/add','Admin\UserController@add');
Route::get('admin/del','Admin\UserController@del');
Route::get('admin/edit','Admin\UserController@edit');
Route::get('admin/index','Admin\UserController@index');
可以在分组属性数组中使用 namespace来指定群组中所有控制器的公共命名空间:
访问效果如下;
7、接收用户输入
接收用户输入的类:Illuminate\Support\Facades\Input
Input::get(‘参数的名字’, ‘如果参数没有被传递使用该默认值’)
Input::all(): 获取所有的用户的输入
Input::get(''): 获取单个的用户的输入
Input::only([]): 获取指定几个用户的输入
Input::except([]): 获取指定几个用户的输入以外的所有的参数
第一步:在DemoController里面定义一个demo的方法,用于测试接收的
数据。
注意:要使用Input类,要提前引入该类;
第二步:定义路由如下;
控制器代码如下;
访问效果如下;
检测提交信息是否存在
if(Input::has('id'))
{
echo Input::get('id');
}