//未定义值的时候
Route::get('user/{name?}',function($name = null){
return 'User-name-'.$name;
});
Laravel框架下载,安装及路由操作图文详解(3)
效果如下图:

//定义了默认参数后
Route::get('user/{name?}',function($name = 'Rarin'){
return 'User-name-'.$name;
});
效果如下图:

3.正则匹配限制参数
Route::get('user/{id}/{name?}',function($id,$name = 'Rarin'){
return 'User-id-'.$id.'-name-'.$name;
})->where(['id' => '[0-9]+', 'name' => '[A-Za-z]+']);
效果如下图:

路由别名的使用方法
Route::get('user/center',['as' => 'Rarin',function(){
return route('Rarin');
}]);
效果如下图:

路由群组的使用方法
Route::group(['prefix'=>'member'],function(){
Route::get('user/center',['as' => 'Rarin',function(){
return route('Rarin');
}]);
Route::any('Rarin',function(){
return 'def';
});
});
效果如下图:
第一种效果:

第二种效果:

路由输出视图
Route::get('view',function(){
return view('welcome');
});
效果如下图:

好了,到这里,我们的路由已经讲完了
附录:laravel目录结构介绍
| 文件夹名称 | 简介 |
|---|---|
| app | 应用程序的业务逻辑代码存放文件夹 |
| app/Console | 存放自定义 Artisan 命令文件 |
| app/Http/Controllers | 存放控制器文件 |
| app/Http/Middleware | 存放「中间件」文件 |
| bootstrap | 框架启动与自动加载设置相关的文件 |
| composer.json | 应用依赖的扩展包 |
| composer.lock | 扩展包列表,确保这个应用的副本使用相同版本的扩展包 |
| config | 应用程序的配置文件 |
| database | 数据库操作相关文件(数据库迁移和数据填充) |
| node_modules | 存放 NPM 依赖模块 |
| package.json | 应用所需的 NPM 包配置文件 |
| phpunit.xml | 测试工具 PHPUnit 的配置文件 |
| public | 前端控制器和资源相关文件(图片、JavaScript、CSS) |
| readme.md | 项目介绍说明文件 |
| resources | 应用资源 |
| resources/assets | 未编译的应用资源文件(图片、JavaScript、CSS) |
| resources/lang | 多语言文件 |
| resources/views | 视图文件 |
| routes/api.php | 用于定义 API 类型的路由 |
| routes/channels.php | 事件转播注册信息 |
| routes/console.php | 用于定义 Artisan 命令 |
| routes/web.php | 用于定义 Web 类型的路由(重点,大部分情况下本书会用到) |
| server.php | 使用 PHP 内置服务器时的 URL 重写(类似于 Apache 的 "mod_rewrite" ) |
| storage | 编译后的视图、基于会话、文件缓存和其它框架生成的文件 |
| storage/app | 目录可用于存储应用程序使用的任何文件 |
| storage/framework | 目录被用于保存框架生成的文件及缓存 |
| storage/logs | 应用程序的日志文件 |
| tests | 应用测试相关文件 |
| vendor | Composer 依赖模块 |
| webpack.mix.js | Laravel 的前端工作流配置文件 |
| yarn.lock | Yarn 依赖版本锁定文件 |
| .gitignore | 被 Git 所忽略的文件 |
| .env | 环境变量配置文件 |
