目录
1,请求
<1>请求地址
public function index(Request $request){
//获取当前url地址
echo $request->fullUrl();
echo "</br>";
//获取当前url地址,除参数以外
echo $request->url();
echo "</br>";
//获取当前路由
echo $request->path();
echo "</br>";
}
http://www.studyla.com/admin?name=zhaoheng
http://www.studyla.com/admin
admin
<2>请求类型
public function index(Request $request){
//获取当前请求类型
echo $request->method();
echo "</br>";
//判断是不是GET请求
echo $request->isMethod('GET');
}
<3>请求数据
public function index(Request $request){
//获取所有请求数据
var_dump($request->all());
//获取特定字段
echo $request->input("name");
echo "</br>";
//设置默认值
echo $request->input("another_name","wangxu");
echo "</br>";
//判断是否存在
echo $request->has("name");
echo "</br>";
//获取部分数据
var_dump($request->only("name","pass"));
}
array (size=2)
'name' => string 'zhaoheng' (length=8)
'pass' => string 'haha' (length=4)
zhaoheng
wangxu
1
D:\laravel\studyla\app\Http\Controllers\Admin\IndexController.php:22:
array (size=2)
'name' => string 'zhaoheng' (length=8)
'pass' => string 'haha' (length=4)
2,闪存
3,文件上传
<form method="post" action="/upload/chuli" enctype="multipart/form-data">
{{ csrf_field() }}
<input type="file" name="img" >
<input type="submit" name="" value="提交">
</form>
打印出文件信息
public function chuli(Request $request){
//打印出文件信息
var_dump($request->all());
}
array (size=2)
'_token' => string 'QAB6vFSmyI1Dxzy5MjvU1lWomQYP3sKLowjGnuXX' (length=40)
'img' =>
object(Illuminate\Http\UploadedFile)[167]
private 'test' (Symfony\Component\HttpFoundation\File\UploadedFile) => boolean false
private 'originalName' (Symfony\Component\HttpFoundation\File\UploadedFile) => string '1.png' (length=5)
private 'mimeType' (Symfony\Component\HttpFoundation\File\UploadedFile) => string 'image/png' (length=9)
private 'size' (Symfony\Component\HttpFoundation\File\UploadedFile) => int 20196
private 'error' (Symfony\Component\HttpFoundation\File\UploadedFile) => int 0
private 'pathName' (SplFileInfo) => string 'D:\wamp64\tmp\phpB1FE.tmp' (length=25)
private 'fileName' (SplFileInfo) => string 'phpB1FE.tmp' (length=11)
进行处理
public function chuli(Request $request){
if($request->hasFile('img')){
//获取文件后缀
$ext=$request->file('img')->getClientOriginalName();
$newFile=time().mt_rand().'.'.$ext;
//上传至public文件夹下的uploads目录
$request->file('img')->move('./uploads',$newFile);
}else{
echo "未选择文件";
}
}
4,cookie
5,响应
<1>响应字符串,数组
public function index(){
return "hello,world";
}
public function index(){
return [1,2,3];
}
<2>响应视图(带数据)
public function index(){
return view("admin.index")->with(["name"=>"zhaoheng"]);
}
<p>welcome come you,{{$name}}</p>
welcome come you,zhaoheng
<3>响应json
public function index(){
return response()->json([
"name" => "zhaoheng",
"pass" => "232344"
]);
}
{"name":"zhaoheng","pass":"232344"}
<4>文件下载
public function index(){
return response()->download("./uploads/1565773670417431960.1.png");
}
<5>查看文件
public function index(){
return response()->file("./uploads/1565773670417431960.1.png");
}
6,视图
Html页面,将控制器中分配到数据进行处理和展示
<1>展示数据
<p>welcome come you,{{$name}}</p>
<2>查看编译文件
<3>分配多个数据,用数组
或者:
<4>使用函数
<5>数据存在时输出
<6>显示未转义过的html代码
{!! html !!}
<7>逻辑控制
for循环
嵌套
foreach遍历
循环变量:
循环时,可以在循环内使用 $loop
变量。这个变量可以提供一些有用的信息,比如当前循环的索引,当前循环是否为首次迭代,抑或当前循环是否为末次迭代:
@foreach ($users as $user)
@if ($loop->first)
This is the first iteration.
@endif
@if ($loop->last)
This is the last iteration.
@endif
<p>This is user {{ $user->id }}</p>
@endforeach
属性 | 描述 |
---|---|
$loop->index |
当前循环迭代的索引(从 0 开始)。 |
$loop->iteration |
当前循环迭代 (从 1 开始)。 |
$loop->remaining |
循环中剩余迭代数量。 |
$loop->count |
迭代中的数组元素总数。 |
$loop->first |
当前迭代是否为循环中的首次迭代。 |
$loop->last |
当前迭代是否为循环中的末次迭代。 |
$loop->depth |
当前循环的嵌套深度级别。 |
$loop->parent |
在嵌套循环中,父循环的 loop 变量。 |
<8>获取数据的total(总数量)
分页器中获取的 JSON 将包含元信息,如:total
、current_page
、last_page
等等
{!!$all->total()!!}
7,模型
修改模型存放位置
Laravel 为我们生成了用户模型文件 app/User.php ,默认情况下,Laravel 会将生成的模型 文件放置在 app 文件夹下。为了遵循 MVC 的开发范式,统一使用 app/Models 文件夹来放置所有的模型文件
将User.php放入Models文件夹,修改其命名空间,最后全局替换App\User为App\Models\User
生成模型文件:
php artisan make:model Models/UserAddress -fm
-fm 参数代表同时生成 factory 工厂文件和 migration 数据库迁移文件