Request 对象简单使用
在创建控制器时,lavarel会自动创建request对象 使用不需要实例化 在方法中的使用
代码语言:javascript复制function show(Request $rep){
}
// 将Request 对象的返回值,覆给rep,如方法需要传参,直接在其后添加即可
什么时候使用?
1.当成post使用
如程序中 $model->title = $_POST[‘title’]
可改写为 $model->title = $rep->title
dd()方法 = dump() exit
Request的input()方法:字段自动注入,其值不是从form表单提交
如
代码语言:javascript复制$model->stu = $rep->input('0');//表单提交自动给stu赋予0
2.文件上传 $rep->file(‘input name名称’)->move(‘路径’,[可选指定图片名,不指定以原图片名存储]) 缺点:虽能上传,但访问较复杂 解决办法:使用laravel的文件存储系统
使用laravel文件存储系统做文件上传 2.1配置 文件系统配置文件config/filesystem.php 在disks设置相关驱动
同时 .env配置文件添加相应磁盘名
代码语言:javascript复制 FILESYSTEM_DRIVER='磁盘名'
上传的文件存储在storage/app/public下
为了正常访问文件,需建立public/storage 到storage/app/public的链接
创建public/storage到storage/app/public的连接
cmd 输入 php artisan storage:link;
4.上传方法
代码语言:javascript复制//$rep = Request对象
$path=$rep->file('filename')->store('磁盘名')
//或
$path=$rep->file('filename')->storAs('磁盘名','设置文件名')
//4.2 获取文件路径
return asset('storage/'.$path)
使用Storage类做文件上传
代码语言:javascript复制//$rep = Request对象
use Storage;
$path = Storage::putFile('磁盘名',$reg->file('文件名'))
helper辅助函数 array_collapse();将多个数组折合成一个数组 str_limit(str,字节限制);限制字符串长度,多余用省略号代替 str_random(num);随机生成指定长度的字符串包含字母数字
e(html);代码实体转义 app_path();//返回app目录 config_path();//返回config目录 public_path();返回public根目录 base_path();//返回项目目录
url(‘path’);//生成目录 域名加path; 可用于模板之间的跳转 action(控制器@方法);//返回控制器的url
bcrypt(str) 基于框架APP_KEY加密
request();得到当前request对象