Hướng dẫn học Laravel (Phần 2)

0
832

Giới thiệu Laravel

Laravel là một khung công tác PHP mã nguồn mở, mạnh mẽ và dễ học. Ở dạng đơn giản hơn, nó là một khung phát triển ứng dụng web mã nguồn mở được viết bằng PHP. Nó tuân theo mô hình thiết kế model-view-controller. Taylor Otwell đã tạo ra Laravel và phát hành theo giấy phép của MIT. Laravel sử dụng lại các phần tử hiện có của các khung công tác khác nhau để hỗ trợ việc xây dựng một ứng dụng web. Laravel cung cấp một bộ sưu tập các chức năng phong phú hợp nhất các đặc điểm chính của các khung PHP như Code Igniter, Yii và các ngôn ngữ lập trình khác như Ruby on Rails. Laravel có một tập hợp các tính năng sôi động sẽ nâng cao tốc độ phát triển web. Laravel là phần mềm phát triển web được bầu chọn thành công nhất so với các khung MVC dựa trên PHP khác do tính toàn vẹn, khả năng thực thi, khả năng mở rộng và các tính năng của nó.

Tại sao Laravel?

. Hỗ trợ các bài tập phát triển web chuyên nghiệp và nâng cao. . Thúc đẩy sự phát triển ứng dụng web nhanh chóng cũng như đáng tin cậy . Giúp cho việc phát triển, triển khai và bảo trì trở nên linh hoạt và dễ chịu. . Cú pháp vốn có. . Một bộ trang nhã gồm các tính năng tích hợp tiện lợi và tiên tiến. . Laravel là khung công tác MVC dựa trên PHP đầy hứa hẹn nhất. . Được ghi chép khá đầy đủ và có cộng đồng lớn các thành viên tích cực. . Và điều đáng mong đợi và hứa hẹn nhất là nó rất dễ học và dễ hiểu.

Ưu điểm của Laravel

  1. Thư viện tích hợp sẵn.
  2. CLI tích hợp.
  3. Công cụ mẫu tích hợp.
  4. Mô-đun.
  5. Hệ thống di chuyển.
  6. Lỗi cộng với Xử lý ngoại lệ.
  7. Phát triển theo hướng kiểm tra (TDD).
  8. Bảo vệ.
  9. Làm theo Kiến trúc MVC.
  10. ORM dựng sẵn (ánh xạ quan hệ đối tượng).

Các tính năng của Laravel

  • Tự động tải lớp
  • IOC container
  • Di cư
  • Trình tạo truy vấn
  • Bàn điều khiển nghệ nhân
  • Hạt giống cơ sở dữ liệu
  • Kiểm tra đơn vị
  • Logic ứng dụng
  • Phân trang tự động
  • Phân trang biểu mẫu
  • Bộ điều khiển Restful
  • Định tuyến ngược
  • ORM hùng hồn
  • Xem nhà soạn nhạc
  • Yêu cầu biểu mẫu

Xác thực biểu mẫu Laravel

Các biểu mẫu trong Mẫu Laravel Blade bao gồm một số xác thực và trường để cung cấp tính mạnh mẽ và tính năng cho các biểu mẫu HTML.

Ba tính năng quan trọng cần đưa vào biểu mẫu HTML bên trong mẫu phiến được hiển thị bên dưới:

  • Trường CSRF
  • Trường phương pháp
  • Lỗi xác thực

Trường CSRF

Mỗi khi xác định biểu mẫu HTML trong các mẫu, trường mã thông báo CSRF phải được bao gồm trong biểu mẫu được ẩn cho người dùng để cung cấp phần mềm trung gian Bảo vệ CSRF (Giả mạo yêu cầu chéo, còn được gọi là tấn công bằng một cú nhấp chuột hoặc chạy phiên) để xác thực yêu cầu. @csrf Blade chỉ thị được sử dụng để tạo trường mã thông báo.

<form method = "POST" action = "/ submit">
@csrf


...
</form>

Trường phương pháp

Trong việc tạo ứng dụng CRUD, một số hành động như cập nhật và xóa yêu cầu phương thức được gửi đến url máy chủ phải là PUT / PATCH (để sửa đổi bất kỳ tài nguyên nào) và DELETE (để xóa bất kỳ tài nguyên nào). Các biểu mẫu HTML không thể thực hiện các yêu cầu PUT, PATCH hoặc DELETE. Một phương thức ẩn được sử dụng để làm như vậy bằng cách sử dụng chỉ thị @method .

<form action = "/ image" method = "POST">
@method ('PUT')
...
</form>

Lỗi xác thực

Thông báo xác thực lỗi tồn tại cho bất kỳ thuộc tính nào hay không, rất dễ kiểm tra trong laravel bằng cách sử dụng phương pháp lỗi tức là @error chỉ thị. Để hiển thị thông báo, biến thông báo được sử dụng.
Để xác thực dữ liệu biểu mẫu, bạn cần gọi phương thức validate () trên đối tượng yêu cầu và Laravel sẽ xử lý phần còn lại
Hãy xem ví dụ về cách xác thực hoạt động trong Biểu mẫu:

Bước 1:Tạo Bộ điều khiển ‘ValidationController.php’ và dán mã sau:

<? php
  class ValidationController mở rộng Bộ điều khiển {
    public function form () {
        return view ('đăng nhập');
    }
    biểu mẫu xác thực chức năng công khai (Yêu cầu $ request) {
        print_r ($ request-> all ());
        $ this-> xác thực ($ request, [
            'tên người dùng' => 'bắt buộc | max: 8',
            'mật khẩu' => 'bắt buộc'
          ]);
        }
    }

Bước 2:Tạo tệp Chế độ xem trong thư mục tài nguyên / chế độ xem dưới dạng ‘login.blade.php’ và dán mã sau:

<html>
   <head>
      <title> Biểu mẫu đăng nhập </title>
   </head>

   <body>

      @if (số lượng ($ lỗi)> 0)
         <div style = "color: red;">
            <ul>
               @foreach ($ error-> all () as $ error)
                  <li> {{$ error}} </li>
               @endforeach
            </ul>
         </div>
      @endif

      <form method = "post" action = "">
        @csrf
          <div>
              Tên người dùng: <input type = "text" name = "username"> <br>
          </div>
          <div class = "form-group">
              Mật khẩu: <input type = "password" name = "password"> <br>
          </div>
          <button type = "submit"> Đăng nhập </button>
      </form>

   </body>
</html>

Bước 3:Tạo các tuyến trong tệp ‘web.php’ như hình dưới đây:

Route :: get ('/ validation', ' ValidationController @ form ');
Route :: post ('/ validation', ' ValidationController @ validateform ');

Đầu ra:

Hiển thị các lỗi xác thực riêng lẻ (login.blade.php)

<html>
   <head>
      <title> Biểu mẫu đăng nhập </title>
   </head>

   <body>

      <form method = "post" action = "">
        @csrf
          <div>
              Tên người dùng: <input type = "text" name = "username"> <br>
          </div>
            @if ($ error-> has ('username'))
                <p style = "color: red;"> {{$ error-> first ('tên người dùng')}} </p>
            @endif
          <div class = "form-group">
              Mật khẩu: <input type = "password" name = "password"> <br>
          </div>
            @if ($ error-> has ('password'))
                <p style = "color: red;"> {{$ error-> first ('password')}} </p>
            @endif
          <button type = "submit"> Đăng nhập </button>
      </form>

   </body>
</html>

Phương thức has (‘title’) được sử dụng để lấy lỗi không phân biệt từ bộ điều khiển và để hiển thị lỗi cụ thể trước tiên phương thức (‘title’) được sử dụng.
Phương thức Title bên trong đại diện cho tiêu đề bạn đã trình bày bên trong bộ điều khiển như trong trường hợp này là tên người dùng và mật khẩu.
Đầu ra của đoạn mã trên sẽ cho kết quả như sau:

Đầu ra:

Xác thực tùy chỉnh

Để thực hiện xác thực tùy chỉnh của riêng bạn và sử dụng thông báo xác thực của riêng bạn. dán đoạn mã sau vào bên trong bộ điều khiển tức là ValidationController.php

<? php
  class ValidationController mở rộng Bộ điều khiển {
    public function form () {
        return view ('đăng nhập');
    }
    biểu mẫu xác thực chức năng công khai (Yêu cầu $ request) {
        print_r ($ request-> all ());

        $ tùy chỉnh = [
        'username.required' => 'Vui lòng điền vào trường tên người dùng',
        'password.required' => 'Vui lòng điền vào trường mật khẩu'
        ];

        $ this-> xác thực ($ request, [
            'tên người dùng' => 'bắt buộc | max: 8',
            'mật khẩu' => 'bắt buộc'
          ], $ tùy chỉnh);
        }
    }

Kết quả đầu ra sẽ giống như sau:

Tham khảo khóa học Lập trình PHP với Laravel