laravel初级2

目录

 

1,请求

<1>请求地址

<2>请求类型

<3>请求数据

2,闪存

3,文件上传

4,cookie

5,响应

<1>响应字符串,数组

<2>响应视图(带数据)

<3>响应json

<4>文件下载

<5>查看文件

6,视图

<1>展示数据

<2>查看编译文件

<3>分配多个数据,用数组

<4>使用函数

<5>数据存在时输出

<6>显示未转义过的html代码

<7>逻辑控制

7,模型

修改模型存放位置

生成模型文件:


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 将包含元信息,如:totalcurrent_pagelast_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 数据库迁移文件
发布了107 篇原创文章 · 获赞 18 · 访问量 6341

猜你喜欢

转载自blog.csdn.net/qq_43109978/article/details/99582428
今日推荐