新框架使用:
路由(访问) -> 控制器(调用) -> 视图
要弄明白
路由如何创建?
控制器如何创建 并且 如何调用视图
视图如何创建?
如何操作数据库获取数据库,传递给视图
如何如何显示数据
1 创建视图
控制器存放目录:app\Http\Controllers\平台名称\控制器名
命令:php artisan make:controller 平台名\控制器名Controller
说明:使用artisan命令时必须在项目根目录下,因为artisan文件在根目录下
2 创建路由
无参路由
// 语法
//【单个请求】
// Route::请求类型(请求的URL,匿名函数或控制器方法)
//请求类型:常用post,get,还有put,delete等共8中
//【多个请求】
//响应多个请求Route::match([请求类型],请求的URL,匿名函数或控制器方法)
// 响应所有请求Route::any(请求的URL,匿名函数或控制器方法);
Route::get('/', 'Home\Day1Controller@index');
Route::get('/', function (){
return 'made in China';
});
Route::match(['get', 'post', 'put'], '/', function (){
return '响应多种类型';
});
Route::any( '/', function (){
return '响应所有类型';
});
有参路由
// 有参路由
// 语法:
//Route::HTTP请求类型(请求的URL/{参数名称},
// 闭包函数或控制响应的方法)->where(参数名称,正则表达式)
// 单参
Route::get(‘/{id}’, function (id){
return ‘单参’.’__’.id;
});
Route::get(‘/{name}’, ‘Home\Day1Controller@index’);
// 多参
Route::get(‘/{id}/{name}’, ‘Home\Day1Controller@index’);
Route::get(‘/{id}/{name}’, function (
id,
name){
return ‘id:’.id.'__'.'name:'.name;
});
带默认值参数
//单参带默认值
Route::get('/{name?}', 'Home\Day1Controller@index');
//多参数默认值
Route::get('/{id?}/{name?}', 'Home\Day1Controller@index');
正则表达式限制参数
// 限制一个
Route::get('/{id}/{name}', 'Home\Day1Controller@index')->where('name','[a-zA-Z]+');
// 限制多个个
Route::get('/{id}/{name}', 'Home\Day1Controller@index')->where([
'name' => '[a-zA-Z]+',
'id' => '[0-9]+'
]);
路由群组
//prefix是将子路由【请求url】公共部分提取
Route::group(['prefix'=>'a', 'namespace'=>'Home'],function (){
// Route::get('/a/test1','Home\Day1Controller@index');
// Route::get('/a/test2','Home\Day2Controller@index');
// Route::get('/a/test3','Home\Day3Controller@index');
Route::get('/test1','Day1Controller@index');
Route::get('/test2','Day2Controller@index');
Route::get('/test3','Day3Controller@index');
});
路由别名
//路由别名
Route::get('/test1/asdf/asdfasd/asdfasd/asdfasd',[
'as' => 'test', 'uses' => 'Home\Day1Controller@index'
]);
Route::get('/test1/asdf/asdfasd/asdfasd/asdfasd',[
'as' => 'test',
function(){
return 888;
}
]);
别名使用
Route::get('/',function (){
return view('welcome');
});
// welcome.blade.php文件
// route('test')将别名解析为真正的URL
<form action="{{ route('test') }}">
<input type="submit" value="提交">
</form>