Laravel笔记

来源:互联网 发布:编写app需要什么软件 编辑:程序博客网 时间:2024/06/01 16:25

1.注意路由必须指定name才能使用这个.方便修改

<form method="POST" action="{{ route('login') }}">

2.在项目目录下查看laravel的所有路由

$ php artisan route:list

3.表单验证

public function store(Request $request){    $this->validate($request, [               'email' => 'required|email|max:255',               'password' => 'required'    ]);}

required(不能为空)   email(email格式)   max(最大长度)


4.有关request

$request->all();                 //获取所有请求信息$request->except("name");        //除了name$request->input("name");         //获取name单个$requett->name;                  //同上$request->only("name","addr");   //只获取name和addrinsertGetId                      //插入并获得刚刚插入的id

5.用户身份进行认证的具体代码实现如下

public function store(Request $request)    {       $this->validate($request, [           'email' => 'required|email|max:255',           'password' => 'required'       ]);       $credentials = [           'email'    => $request->email,           'password' => $request->password,       ];              if (Auth::attempt($credentials)) {           // 登录成功后的相关操作           session()->flash('success', '欢迎回来!');           return redirect()->route('users.show',[Auth::user()]);       } else {           // 登录失败后的相关操作           session()->flash('danger', '很抱歉,您的邮箱和密码不匹配');           return redirect()->back();       }       return;    }

我们在 store 方法内使用了 Laravel 提供的 Auth::user() 方法来获取当前登录用户的信息,并将数据传送给路由。


6.用户权限和重定向跳转

Auth::check();         //检查用户的权限true/false,用法如下图Auth::user():          //访问已被授权的用户redirect::guest();      //在重定向时会将当前url保存到session中,这样可以在登陆以后,使用Redirect::intended()方法跳转到之前的页面继续业务。redirect::intended('/');  //方法用来返回给重定向器用户在登录前所想要前往的 URL 地址,该方法也接收一个参数作为所请求地址不可用时的备用地址。

Auth::check()


7.资源控制器的删除操作

再点击退出删除之后浏览器将向指定地址发送一个post请求,但由于RESTful框架中会使用DELETE请求来删除一个资源,当用户点击时,实际上相当于删除了用户登录会话的资源,因此这里的退出操作需要使用DELETE请求来发送给服务器,由于浏览器不支持发送DELETE请求,我们需要使用一个隐藏域来伪造DELETE请求.

在Blade模板中,我们可以使用method_fidle方法创建隐藏域.

{{ method_field("DELETE") }}

转化的html代码如下

<input type="hidden" name="_method" value="DELETE">

完整版本

<form action="{{ route('logout') }}" method="POST">  {{ csrf_field() }}  {{ method_field('DELETE') }}  <input type="submit" value="退出"></form>
原创粉丝点击