网站建设图片如何放在网站上,广告艺术设计,工业信息化部网站备案系统,怎么建立企业网站平台Laravel框架02#xff1a;路由与控制器一、路由配置文件二、路由参数三、路由别名四、路由群组五、控制器概述六、控制器路由七、接收用户输入一、路由配置文件
以web网页路由文件为例#xff1a; 默认根路由 路由定义格式Route::请求方式(请求的URL, 匿名函数或控制响应的方…
Laravel框架02路由与控制器一、路由配置文件二、路由参数三、路由别名四、路由群组五、控制器概述六、控制器路由七、接收用户输入一、路由配置文件
以web网页路由文件为例 默认根路由 路由定义格式Route::请求方式(请求的URL, 匿名函数或控制响应的方法)Route::get(/home, function () {return HOME;
});通过match可以实现路由响应多个HTTP请求。any实现一个路由响应所有HTTP请求。Route::match([get, post], /match, function () {return match实现一个路由响应多个HTTP请求;
});Route::any(/any, function () {return any实现一个路由响应所有HTTP请求;
});二、路由参数 必选参数 必选参数的传递通过路由地址中的{参数名}的形式进行传递。 Route::any(/must/{id}, function ($id) {echo 当前用户ID是{$id};
});可选参数 可选参数的传递通过路由地址中的{参数名?}的形式进行传递。 Route::any(/optional/{id?}, function ($id null) {echo 当前用户ID是{$id};
});问号传参 除了定义路由的方式传递路由参数还可以通过?形式传递参数 http://study.com/mark?id12345Route::any(/mark, function () {echo 当前用户ID是{$_GET[id]};
});三、路由别名 在路由定义的时候给路由起一个名字。 Route::any(/mark, function () {echo 当前用户ID是{$_GET[id]}:br . route(alias);
})-name(alias);调用该路由route(alias)返回该路由的完整地址。 查看系统已经有的路由php artisan route:list
四、路由群组
使用 group 对路由进行分组。使用 prefix 属性指定路由前缀。语法Route::group(公共属性数组, 回调函数);
Route::group([prefix admin], function () {Route::get(test1, function () {return test1;});Route::get(test2, function () {return test2;});Route::get(test3, function () {return test3;});
});五、控制器概述
控制器文件夹位于app/Http/Controllers控制器命名方式大驼峰Controller.php通过artisan命令行自动生成控制器php artisan make:controller 控制器名
六、控制器路由 控制器路由即使用路由规则调用控制器下的方法。 格式Route::请求方法(路由表达式, 控制器类名方法名) # 路由设定
Route::get(/home/test/info, TestControllerinfo);# 控制器
class TestController extends Controller
{public function info(){return phpinfo();}
}创建分目录管理的控制器只需要加上目录名称 php .\artisan make:controller Admin/IndexController
php .\artisan make:controller Home/IndexController# 路由设定
Route::get(/home/index/index, home\IndexControllerindex);
Route::get(/admin/index/index, Admin\IndexControllerindex);# 分目录管理控制器
class IndexController extends Controller
{// 测试Admin分组的Index方法public function index(){return 这是Admin分组下的index方法;}
}七、接收用户输入
Facades“门面”的思想。门面是介于一个类的实例化与没有实例化中间的一个状态。其实是类的一个接口实现。在Laravel中如果需要使用facades可以在config/app.php中定义别名。在Laravel中友好输出函数dd();接收用户输入的类Illuminate\Http\Request。
?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class TestController extends Controller
{public function index(Request $request){$request-all();$request-get(id);$request-only([id, name]);}
}