Laravel 学习
路由
配制文件在 routes/index.php
路由定义规则
/*
Route::请求方式('路径', 回调函数)
可以直接 echo 一个字符串
也可以返回视图 view('视图名')
*/
Route::get('/', function(){
})
/*
有时候想要一个回调函数匹配多种请求方式就要用到 Route::match
Route::match(['get', 'post', ...], '请求路径', 回调函数)
*/
Route::match(['get', 'post'], '/match', function() {
echo 'match route';
})
// 匹配所有请求方式
Route::any('/any', function(){
echo 'any route';
})
参数传递
必选参数
Route::get('/user/{id}', function($id){
echo '用户id为: ' . $id;
})
可选参数
// 可选参数,回调函数的参数必须有默认值.
Route::get('/user/{id?}', function($id = 1){
echo '可选用户id为: ' .$id;
})
通过query_string传递
回调函数里面也可以通过$_GET,$_POST
路由别名
// 通过 -> name('路由名') 设置路由名字
Route::get('/name', function(){
echo ''
}) -> name('name');
通过 php artisan route:list 查看所有的路由名字
路由分组
/*
假如 有多个路由,有相同的前缀比如 /user/list, /user/add ... 可以以下这么写
*/
Route::group(['prefix' => 'user'], function(){
Route::get('add', fucntion(){});
Route::get('list', function(){});
});
控制器
控制器位于 app/Http/Controllers/
命名方式
大驼峰的控制器名 + Controller.php
控制器创建
框架提供了创建控制器的命令,如创建TestController
php artisan make:controller TestController
控制器路由
即如何路由如何调用控制器的方法而不是调用匿名函数
/*
Route::get('/test', '控制器名@控制器方法名');
*/
路由分目录管理
- 用命令创建控制器
php artisan make:controller 控制器目录名控制器名
- 写控制器路由时不再是 控制器名@方法名 而是 控制器目录名控制器名方法名
处理用户输入
通过 IlluminateSupportFacadesInput 的静态方法获取用户输入, 一下方法既可以获取get中的信息也可以获取get中的信息
Input::all()
获取所有输入Input::get('参数名', '没有接收到的时候的默认值')
Input::get('')
获取单个输入Input::only(['',''])
获取多个输入Input::except(['',''])
获取除了指定的参数的其他参数Input::has('')
判断某个参数是否存在
配置别名
在 app.php里面配置 aliases => [] 中添加
配置IlluminateSupportFacadesInput的别名 Input 'Input' => IlluminateSupportFacadesInput::class,
数据库操作
数据库配置可以在.env里面配置或者config/database.php